קבלת כל הבנקים והסניפים מבנק ישראל

26 ביולי 2014

לבנק ישראל יש קובץ XML או אקסל המכיל את רשימת הבנקים והסניפים בישראל, (בלינק הבא תוכלו למצוא לינק לקובץ ה – XML וכן להסבר מפורט) אני בונה כעת מערכת לניהול הוראות קבע, כחלק מהמערכת נדרשתי לבנות מנגנון שפעם בחודש ניתן יהיה לשאוב את הנתונים מקובץ ה – XML ולעדכן את בסיס הנתונים, לכאורה אתגר פשוט, הקוד שנכתב היה נראה משהו בסגנון הזה: Code Snippet string url = "http://www.boi.org.il/he/BankingSupervision/BanksAndBranchLocations/Lists/BoiBankBranchesDocs/snifim_he.xml";WebClient client = new WebClient();string xml = client.DownloadString(url);ProcessXml(xml);   הבעייה עם הקוד הזה שלפעמים זה עבד ולפעמים לא, לאחר קצת עיון מעמיק מסתבר שהחכמים האלו בבנק, החליטו לוודא שלא מדובר...
תגיות: , ,
אין תגובות

ג’יבריש בשם קובץ בהורדה מ – azure באתר MVC

22 ביולי 2014

  היה לי את הקוד הבא, אשר מוריד קובץ PDF בפרוייקט MVC Code Snippet public ActionResult Pdf(int id, DateTime date){    var res = shuttlesWebService.Pdf(id, date);    string fileName = res.Name;    Response.AppendHeader("Content-Disposition",        string.Format("attachment; filename={0} {1}.pdf", fileName, res.Date.ToString("dd/MM/yyyy")));    return File(res.File, "application/pdf"); ;}   זה עבד נהדר, עד שעלה לענן – ברגע שעלה ל – windows azure, שם הקובץ ירד בג’יבריש. הפיתרון היה פשוט מאוד. (שלושת השורות המודגשות) Code Snippet public ActionResult Pdf(int id, DateTime date){    var res = shuttlesWebService.Pdf(id, date);    string fileName = res.Name;    Response.HeaderEncoding = Encoding.GetEncoding("windows-1255");    string filename = res.Name;    filename = HttpUtility.UrlPathEncode(filename);    Response.AppendHeader("Content-Disposition",        string.Format("attachment; filename={0} {1}.pdf",...
תגיות: , ,
אין תגובות

Bundle and jQuery or bootstrap images

9 ביוני 2014

מנגנון ה - bundling and optimization של asp.net הוא מנגנון נהדר שמגיע לפתור לנו מספר בעיות. ספריות (כמו jQuery, angular ואחרים) מגיעות בדרך כלל עם קובץ לזמן פיתוח וקובץ min שמכיל את כל התוכן בצורה מקוצרת (כל הטקסט בשורה אחת, שמות מקוצרים של משתנים וכו’), נרצה לוודא שבזמן פיתוח נשתמש בקובץ הרגיל ובזמן שהמשתמש גולש נשתמש בקובץ המכווץ. עבור הקוד שאנחנו כותבים נרצה גם כן מנגנון שיודע לייצר בזמן שהמתשמש גולש קובץ “min” עם המידע. כל קובץ js או css הינו request נפרד לשרת, ניתן לאחד מספר קבצים לבקשה אחת מהשרת – כך שטעינת העמוד תהיה...
תגיות: , ,
אין תגובות

עבודה עם enum flag + angular

8 במאי 2014

מי שנמצא בעולם ה – web יודע שהרבה פרוייקטים חדשים וישנים, משתמשים בספריית angularjs, זאת אחת הספריות הטובות ביותר לפיתוח WEB, הרבה פעמים זה מרגיש שבשימוש בספרייה זו, האתרים שאנחנו בונים, זה סוג של הרכבת לגו, רק צריך לדעת מה ואיפה לחבר. לא מזמן נתקלתי בצורך להשתמש עם enum flags ב – javascript, אז נכון שאין באמת enum ב – js, ובטח לא flag, אבל ניתן לדמות את ההתנהגות, (מי שלא מכיר enum ו – flags מוזמן לקרוא כאן). הבעייה העיקרית כדי לעבוד עם enum ו – angular, היא שבמידה ונרצה להציג UI מתאים, נרצה מן הסתם אוסף של...
תגיות: ,
2 תגובות

פיתוח תוכנה – צעד אחר צעד, עבודה עם Enum ב – #C

7 במאי 2014

הרבה פעמים אנחנו רוצים להחזיק משתנה עם ערך מתוך רשימה, לדוגמה – יום בשבוע (ראשון, שני, שלישי וכו’). כדי לעשות זאת נוכל להגדיר משתנה מסוג string ולהחזיק את השם של היום בשבוע, הבעייה עם שיטה זו, שנוכל בקלות לעשות טעיות כתיב והמידע יהיה לא נכון, שיטה אחרת היא כמובן להחזיק מספר כשנחליט שיום ראשון הוא 1, יום שני הוא 2 וכן הלאה. הבעייה בשיטה זו, היא שהקוד לא קריא, כי אם לדוגמה אנחנו רוצים לעשות בדיקה, הקוד ייראה משהו בסגנון: Code Snippet int day = int.Parse(Console.ReadLine());if (day == 1){    //....}else if (day == 2){    //..}//.... בדיוק בשביל...
תגיות: , , ,
תגובה אחת

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    }} כך בצורה זו –...
3 תגובות

שליחת אובייקטים עם תתי אובייקטים ב – 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>   כזכור, החלק של ה...
3 תגובות

קבלת 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...
תגיות: , ,
אין תגובות