Enums on client side of WCF Data Services

26 במרץ 2014

לאחרונה יצא לי להתעסק עם WCF Data Services – אחד הדברים שהציקו לי היה העבודה עם enum, אמנם החל מ – Entity Framework 6 יש תמיכה ב – enums במודל, אבל לא בעבודה עם DataServices, במידה והמודל יכיל Enum Type לא ניתן יהיה לבצע Add Service Reference. אחד הפתרונות שחשבתי לעשות הוא לכתוב בצד הלקוח קוד כמו זה: Code Snippet namespace DataCache.ServiceReference{    public partial class DegreeType    {        public EDegreeType EType        {            get            {                return (EDegreeType)this.Type;            }            set            {                this.Type = (int)value;            }        }    }    public enum EDegreeType    {                Before,                After    }} כך בצורה זו –...
2 תגובות

שליחת אובייקטים עם תתי אובייקטים ב – ajax לשרת

22 במרץ 2014

כדי לשלוח אובייקט מצד לקוח לצד שרת ב – ajax, בעזרת jQuery זה די פשוט, בהנחה שיש לנו אובייקט בשם Person בצד השרת ו – action שמקבל אותו – הקוד ייראה ככה: Code Snippet public class Person{    public int Id { get; set; }    public string Name { get; set; }    public int Age { get; set; }} Code Snippet public ActionResult Update(Person model){} נוכל בצד לקוח לפנות בעזרת jQuery לשרת ולשלוח את המידע כך: Code Snippet var obj = {    id: 1,    name: 'shlomo',    age:29};$.post('/home/save', obj);   אבל במידה שהאוביקט בצד שרת...
תגיות: , , , , , ,
אין תגובות

עצלנות של מפתחים ואבטחת מידע – והפעם כיצד לעקוף את הבדיקה שטלריק עושים האם קניתם את המוצר (2014)

21 במרץ 2014

בפוסט בעבר כתבתי כיצד לעקוף את הבדיקה של טלריק – ציינתי שם שהמטרה לא לגנוב אותם (כי אנחנו קונים רשיונות) אלא ההודעה המעצבנת שעולה כל פעם בזמן הפיתוח. לאחרונה אני כותב POC עבור לקוח ואני משתמש בפקדים של WPF של טלריק – ושוב ההודעה המעצבנת שלהם עולה בכל פעם שאני מפעיל את האפליקציה. ניסיתי להשתמש בטריק מהפוסט הקודם – וזה לא בדיוק עבד, לאחר שיטוט ב – reflector ראיתי שהם אכן שינו את הקוד, ולמעשה יש להם dll נפרד במידה ואני משתמש בגרסת הניסיון, יש להם היכן שהוא בדיקה שבמידה והתוכנה אין לה public key מסויים (כנראה תוכנה אצלם)...
אין תגובות

פיתוח תוכנה – צעד אחר צעד, חלק א’ פרק שביעי

16 בפברואר 2014

לפרק הקודם. בפרק זה נלמד על: המשך עבודה עם WPF. התחלה של תנאים. בפרק הקודם התחלנו לכתוב תוכנה שמדמה “פנקס רשימות”, (מומלץ לחזור על הפרק הקודם לפני ההמשך). נרכז לרגע את קוד ה – xmal וקוד ה – cs שכתבנו בפרק הקודם. Code Snippet <Window x:Class="WpfApplication1.MainWindow"       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"         Title="MainWindow" Height="350" Width="525">    <Grid>        <Grid.RowDefinitions>            <RowDefinition Height="auto"></RowDefinition>            <RowDefinition></RowDefinition>        </Grid.RowDefinitions>        <Menu Grid.Row="0">            <MenuItem Header="File" Padding="5,1">                <MenuItem Header="New" Click="New_Click"></MenuItem>                <MenuItem Header="Open" Click="Open_Click"></MenuItem>                <MenuItem Header="Save" Click="Save_Click"></MenuItem>                <Separator></Separator>                <MenuItem Header="Exit" Click="Exit_Click"></MenuItem>            </MenuItem>        </Menu>        <TextBox Grid.Row="1"            ScrollViewer.VerticalScrollBarVisibility="Visible"           TextWrapping="Wrap"           AcceptsReturn="True"           Name="txtData"           FontSize="16"           Padding="5"></TextBox>    </Grid></Window>   כזכור, החלק של ה...
תגובה אחת

קבלת ProcessId של office interop שנוצר בקוד שלנו

12 בפברואר 2014

התבקשתי למצוא את ה – ProcessId של אקסל שנוצר מקוד בעזרת Interop, כמובן שזה לא משנה אקסל, וורד וכד’. הפיתרון הגיע מכאן הקוד יהיה פשוט, לאובייקטים של ה – Interope יש מאפיין Hwnd (יושב תחת Application), דרכו ניתן לקבל את ה – ProcessId, אבל לא בצורה ישירה, נצטרך לשלוח את הפרמטר לפונקציית GetWindowThreadProcessId של מערכת ההפעלה, ממנו נקבל את ה – ProcessId דרכו נוכל לפנות ל – Process.GetProcessById, הקוד המלא יראה כך: Code Snippet class Program{    static void Main(string args)    {        Application app = new Application();        app.Visible = true;        int excelProcessId = 0;        GetWindowThreadProcessId(new IntPtr(app.Hwnd), out...
תגיות: , ,
אין תגובות

break row in html tooltip (title attribute

25 בינואר 2014

לאחרונה הייתי צריך להציג tooltip על div כלשהו ב – html, הצגת tooltip הינה באמצעות המאפיין title Code Snippet <div title="Shlomo Goldberg">    ...<br />    ...<br />    ...<br />    ...<br />    ...<br />    ...<br />    ...<br /></div> זה ייתן את התוצאה הבאה: הדרישה של הלקוח הייתה, שהשם והמשפחה יופיע כל אחד בשורה נפרדת, ניסיון להוסיף r\n\ רק גרם להופעת התווים הללו ב – tooltip, לאחר ניסויים מעטים, התברר שמקוד javascript ניתן לעשות זאת. Code Snippet <script>    onload = function () {        document.getElementById('myDiv').setAttribute('title', 'Shlomo\r\nGoldberg');    }</script>   זה אכן עבד וגרם לירידת השורה המבוקשת ב –...
תגיות: , , ,
4 תגובות

פיתוח תוכנה – צעד אחר צעד, חלק א’ פרק שישי

21 בינואר 2014

לפרק הקודם.   בפרק זה נלמד: היכרות עם מספר פקדים ב – WPF. עבודה עם משתנים מקוד WPF. עבודה בסיסית עם קבצים.   בפרקים הקודמים למדנו על משתנים וכיצד ממירים בין מחרוזת למספר, בפרק זה נכיר כמה פקדים בסיסיים בעבודה בפרוייקטי WPF, ונעבוד עם משתנים בקוד כשנראה כיצד להמיר ממספר למחרוזת בחזרה. בפרק שלישי הכרנו את האלמנטים הבאים: (מומלץ לעבור שוב במהירות על פרק זה לפני ההמשך) StackPanel – המאפשר להכיל בתוכו מספר פקדים אחרים כשהם יהיו אחד ליד השני או אחד מתחת השני. TextBox – המאפשר למשתמש להכניס טקסט כלשהו בתוכו. ...
7 תגובות

פיתוח תוכנה – צעד אחר צעד, חלק א’ פרק חמישי

10 בינואר 2014

לפרק הקודם בפרק זה נלמד: קצת יותר על משתנים. המרה בסיסית בין הסוגים השונים. היכרות עם עבודה עם תאריכים וזמנים.   בפרק הקודם התחלנו ללמוד על המשמעות של משתנים והסוגים השונים, ראינו עבודה עם משתנים מסוג מחרוזת (string) ב – Console Application, כעת נקח את הקוד מהשיעור הקודם שבו בקשנו כזכור שם פרטי ומשפחה ונבקש גם את הגיל. כזכור הקוד היה נראה כך: Code Snippet Console.Write("Enter your first name: ");string firstName = Console.ReadLine();Console.Write("Enter your last name: ");string lastName = Console.ReadLine();Console.WriteLine("Your full name is: {0} {1}", firstName, lastName); כעת נרצה לבקש מהמשתמש את תאריך הלידה...
3 תגובות

פיתוח תוכנה – צעד אחר צעד, חלק א’ פרק רביעי.

8 בינואר 2014

לפרק הקודם . בפרק זה נלמד על: פלט בסיסי מהתוכנה בפרויקט מסוג Console Apllication תחילת עבודה עם משתנים. (מה זה בכלל ולמה צריך אותם) סוגי משתנים.   בפרקים הקודמים דברנו על תחילת העבודה עם Visual Studio, הכרת סוגי האפליקציות השונות והכרנו קצת יותר את העבודה עם WPF והעבודה עם פקדים אירועים וקצת קוד, היות שבמהלך הסדרה אנחנו רוצים ללמוד פיתוח ולהכיר את שני סוגי האפליקציות, הפעם נתמקד ב – Console ונלמד כיצד לתקשר עם המשתמש ב –Console (בשונה מ – WPF, ששם התקשורת היא פשוטה בעזרת הפקדים) וכמובן נלמד על משתנים.   ניצור אפליקציית Console (ניתן...
תגובה אחת

פיתוח תוכנה – צעד אחר צעד, חלק א’ פרק שלישי

4 בינואר 2014

בפרק זה נלמד על: המשך היכרות עם סביבת העבודה באפליקציות WPF. הכרת המושג UI, והקשר בין הגרפיקה לקוד. הכרת המושג אירועים (Event Oriented).   בשיעור הקודם יצרנו שני סוגי פרוייקטים והרצנו אותם, הראשון היה מסוג Console Application והשני היה מסוג WPF, בשיעור הנוכחי נתמקד באפליקציות WPF ונלמד אודות הגרפיקה, הקוד והתקשורת ביניהם. יש הרבה תוכנות שכדי להפעיל אותם צריך ממשק משתמש, כלומר – דרך כלשהו למשתמש לבצע פעולות בתוכנה, דוגמה פשוטה לאפליקצייה עם ממשק משתמש היא המחשבון, נסתכל עליה לרגע: יש לנו למעלה תפריט (המכיל פונקציונליות בפנים – כמו למשל סגירה וכד’), בשורה מתחת...
3 תגובות