//מוסיפה בקשות מקובץ אקסל public void addRequestFromExcel() { requestDTO r = new requestDTO(); StreamReader read = new StreamReader(@"d:\request.csv", Encoding.Default); string str = read.ReadToEnd(); string[] arr = str.Split('\n'); for (int i = 0; i < arr.Length; i++) { int j = 0; string[] arr1 = arr[i].Split(','); r.code = int.Parse(arr1[j++]); r.id_parent = arr1[j++]; r.from_hour = TimeSpan.Parse(arr1[j++]); r.to_hour = TimeSpan.Parse(arr1[j++]); requestBL rBL = new requestBL(); rBL.AddRequest(r); Console.WriteLine(); } Console.ReadLine(); }
//public List<studens> SortByEmail(List<studens> ls) //{ // return ls.OrderBy(x => x.parents.email).ToList(); //} //פונקצית הערכה //מקבלת אוסף -ליסט- של השיבוץ של כל בית הספר //ומחזירה ציון לשיבוץ //לפי //1. פרק הזמן שאמא לכמה בנות שוהה בבית הספר //2. רמת סטיה מבקשות של אמהות private int mark(List <scheduling> l) { List <parents> lst_par = perentsDAL.GetParentByCodeInstation(this.idMosad); double avg = 0; int mark = 100, cntExp = 0; TimeSpan from = new TimeSpan(00, 0, 0); TimeSpan to = new TimeSpan(00, 0, 0); TimeSpan min = new TimeSpan(23, 59, 0); TimeSpan max = new TimeSpan(00, 00, 0); TimeSpan temp; perentsBL pars = new perentsBL(); requestBL r = new requestBL(); //1. פרק הזמן שאמא לכמה בנות שוהה בבית הספר foreach (parents p in lst_par) { List <studens> lst_k = pars.get_Allkids(p.id); min = new TimeSpan(23, 59, 0); max = new TimeSpan(00, 00, 0); for (int i = 0; i < lst_k.Count(); i++) { //השוואה של timespan temp = l.Where(x => x.id_student == lst_k[i].id).FirstOrDefault().hour_; if (temp > (max)) { max = temp; } if (temp < min) { min = temp; } } avg = (max - min).TotalMinutes; avg = (max - min).TotalMinutes / lst_k.Count(); if (avg > 30) { cntExp++; } } mark = mark - cntExp; cntExp = 0; //2.רמת סטיה מבקשות של אמהות //עובר על רשימת האימהות foreach (parents pa in lst_par) { List <studens> lst_k = pars.get_Allkids(pa.id); List <studens> st; TimeSpan scheTime = new TimeSpan(); parents p = new parents(); request h = allRquest.Where(rr => rr.id_parent == pa.id).FirstOrDefault(); if (h != null) { from = h.from_hour; to = h.to_hour; st = lst_studens.Where(y => y.id_parent == pa.id).ToList(); //שולף מרשימת השיבוצים שהתקבלה את השעות של הילדים של ההורה foreach (studens item in lst_k) { scheTime = l.Where(e => e.id_student == item.id).Select(t => t.hour_).FirstOrDefault(); if (scheTime < from || scheTime > to) { cntExp++; } } } } mark = mark - cntExp; return(mark); }