/// <summary> /// json olarak tutulmuş olan ders programlarını böler ve days listesine aktarır /// </summary> /// <param name="parse"></param> private void parsejson(string parse) { List<List<string>> alltables = null; try { alltables = JsonConvert.DeserializeObject<List<List<string>>>(parse); } catch (Exception) { MessageBox.Show("Kayıtlı ders programı bozulmuş olabilir, lütfen hepsini tekrar güncelleyiniz."); return; } foreach (var item in alltables) { string saat = item[0].Replace(" ", "").Replace(".", ":"); Lesson_DTO spzrtesi = parseLesson(item[2]); Lesson_DTO ssali = parseLesson(item[3]); Lesson_DTO scar = parseLesson(item[4]); Lesson_DTO sper = parseLesson(item[5]); Lesson_DTO scum = parseLesson(item[6]); days[0].time.Add(new Time_DTO { time = saat, lesson = new List<Lesson_DTO>() { new Lesson_DTO { @class = spzrtesi.@class, code = spzrtesi.code, faculty = spzrtesi.faculty, name = spzrtesi.name, teacher = spzrtesi.teacher } } }); // lste ders ekle days[1].time.Add(new Time_DTO { time = saat, lesson = new List<Lesson_DTO>() { new Lesson_DTO { @class = ssali.@class, code = ssali.code, faculty = ssali.faculty, name = ssali.name, teacher = ssali.teacher } } }); days[2].time.Add(new Time_DTO { time = saat, lesson = new List<Lesson_DTO>() { new Lesson_DTO { @class = scar.@class, code = scar.code, faculty = scar.faculty, name = scar.name, teacher = scar.teacher } } }); days[3].time.Add(new Time_DTO { time = saat, lesson = new List<Lesson_DTO>() { new Lesson_DTO { @class = sper.@class, code = sper.code, faculty = sper.faculty, name = sper.name, teacher = sper.teacher } } }); days[4].time.Add(new Time_DTO { time = saat, lesson = new List<Lesson_DTO>() { new Lesson_DTO { @class = scum.@class, code = scum.code, faculty = scum.faculty, name = scum.name, teacher = scum.teacher } } }); } }
/// <summary> /// verilen stringden ders: kodu,ismi,fakultesi,öğretim üyesi ve sınıfa göre ayırır /// </summary> /// <param name="arg1"></param> /// <returns></returns> private Lesson_DTO parseLesson(string arg1) { if (arg1 == "") return new Lesson_DTO(); Lesson_DTO callback = new Lesson_DTO(); string[] forparser = arg1.Split('\n'); int parser = 0; foreach (var item in forparser) { if (item != "") { string Write = item.Trim(); if (parser == 0) { callback.code = Write; parser++; continue; } if (parser == 1) { string[] Writeto = Write.Split(new[] { " " }, StringSplitOptions.None); callback.name = Writeto[0].Trim(); parser++; } if (parser == 2) { string[] Writeto = Write.Split(new[] { " " }, StringSplitOptions.None); callback.faculty = Writeto[1].Trim(); parser++; continue; } if (parser == 3) { callback.teacher = Write; parser++; continue; } if (parser == 4) { int ifnotclass = Write.IndexOf("Öğretim Üyesi Odası"); int ifnotclass2 = Write.IndexOf("Seminer Odası"); int ifnotclass3 = Write.IndexOf("Birleştirme"); int ifnotclass4 = Write.IndexOf("Uzaktan Eğitim"); if (ifnotclass != -1 || ifnotclass2 != -1 || ifnotclass3 != -1 || ifnotclass4 != -1) { Write = null; } callback.@class = Write; parser++; continue; } } } return callback; }