private static void Psim(Database data) { Console.WriteLine("The End!"); }
private void reset() { //initialize datasource dataLoader.LoadFromWebUsingHttpRequest( delegate(Database database) { PrimaryDataSource = database; settings.LoadSettings(); showInfo(Group, PrimaryDataSource); }, true); }
/// <summary> /// Zobrazí informace ze zadaného zdroje platné pro danou skupinu /// </summary> /// <param name="skupina">Skupina, pro kterou budou data zobrazena</param> /// <param name="dataSource">Zdroj informací pro zobrazení</param> private void showInfo(int skupina, Database dataSource) { //Pole událostí událostiListBox.Items.Clear(); List<Event> events = dataSource.Events; events.Sort(); IEnumerable<Event> vyhovujícíUdálosti = from událost in events where DateTime.Now <= událost.To select událost; foreach (Event eventX in vyhovujícíUdálosti) { EventWindow EW = new EventWindow(eventX); ListBoxItem LBI = new ListBoxItem(); LBI.Content = eventX.Name + " - " + eventX.From.ToShortDateString(); LBI.MouseDoubleClick += (x, y) => EW.ShowDialog(); událostiListBox.Items.Add(LBI); } //Pole testů testyListBox.Items.Clear(); List<Exam> exams = dataSource.Exams; exams.Sort(); if (settings.ShowOdloženéTesty) { IEnumerable<Exam> vyhovujícíTesty = from test in exams where test.Group == 0 || test.Group == skupina where DateTime.Now <= test.Date select test; foreach (Exam test in vyhovujícíTesty) { ExamWindow EW = new ExamWindow(test); ListBoxItem LBI = new ListBoxItem(); if (EW.Done) { LBI.Content = test.Name + " " + test.Subject + " - " + test.Date.ToShortDateString() + " - odloženo"; LBI.Foreground = new SolidColorBrush(Colors.Gray); } else LBI.Content = test.Name + " " + test.Subject + " - " + test.Date.ToShortDateString(); EW.Closing += (x, y) => showInfo(Group, dataSource); LBI.MouseDoubleClick += (x, y) => EW.ShowDialog(); testyListBox.Items.Add(LBI); } } else { IEnumerable<Exam> vyhovujícíTesty = from test in exams where test.Group == 0 || test.Group == skupina where DateTime.Now <= test.Date select test; foreach (Exam test in vyhovujícíTesty) { ExamWindow EW = new ExamWindow(test); ListBoxItem LBI = new ListBoxItem(); EW.Closing += (x, y) => showInfo(Group, dataSource); LBI.Content = test.Name + " " + test.Subject + " - " + test.Date.ToShortDateString(); LBI.MouseDoubleClick += (x, y) => EW.ShowDialog(); if (!EW.Done) testyListBox.Items.Add(LBI); } } //Pole úkolů úkolyListBox.Items.Clear(); List<Task> tasks = dataSource.Tasks; tasks.Sort(); if (settings.ShowDokončenéÚkoly) { IEnumerable<Task> vyhovujícíÚkoly = from úkol in tasks where úkol.Group == 0 || úkol.Group == skupina where DateTime.Now <= úkol.Date select úkol; foreach (Task úkol in vyhovujícíÚkoly) { TaskWindow EW = new TaskWindow(úkol); ListBoxItem LBI = new ListBoxItem(); if (EW.Done) { LBI.Content = úkol.Name + " " + úkol.Subject + " - " + úkol.Date.ToShortDateString() + " - dokončeno"; LBI.Foreground = new SolidColorBrush(Colors.Gray); } else LBI.Content = úkol.Name + " " + úkol.Subject + " - " + úkol.Date.ToShortDateString(); EW.Closing += (x, y) => showInfo(Group, dataSource); LBI.MouseDoubleClick += (x, y) => EW.ShowDialog(); úkolyListBox.Items.Add(LBI); } } else { IEnumerable<Task> vyhovujícíTesty = from úkol in tasks where úkol.Group == 0 || úkol.Group == skupina where DateTime.Now <= úkol.Date select úkol; foreach (Task úkol in vyhovujícíTesty) { TaskWindow EW = new TaskWindow(úkol); ListBoxItem LBI = new ListBoxItem(); LBI.Content = úkol.Name + " " + úkol.Subject + " - " + úkol.Date.ToShortDateString(); LBI.MouseDoubleClick += (x, y) => EW.ShowDialog(); EW.Closing += (x, y) => showInfo(Group, dataSource); if (!EW.Done) úkolyListBox.Items.Add(LBI); } } }
private void loadDataFromXMLFromWeb(Action<Database> completed, Stream stream) { List<Task> Tasks = new List<UTU_Class_Library.Task>(); List<Exam> Exams = new List<UTU_Class_Library.Exam>(); List<Event> Events = new List<UTU_Class_Library.Event>(); try { XmlDocument doc = new XmlDocument(); doc.Load(stream); XmlElement infoElement = (XmlElement)doc.GetElementsByTagName("utu")[0]; XmlElement události = (XmlElement)infoElement.GetElementsByTagName("events")[0]; XmlElement úkoly = (XmlElement)infoElement.GetElementsByTagName("tasks")[0]; XmlElement testy = (XmlElement)infoElement.GetElementsByTagName("exams")[0]; foreach (XmlNode událostNode in události) { XmlElement událostElement = (XmlElement)událostNode; string název; string popis; string datumZačátku; string datumKonce; string místo; string id; název = událostElement.GetAttribute("title"); popis = událostElement.GetAttribute("description"); datumZačátku = událostElement.GetAttribute("eventStart"); datumKonce = událostElement.GetAttribute("eventEnd"); místo = událostElement.GetAttribute("location"); id = událostElement.GetAttribute("id"); Event událost = new Event(); událost.Name = název; událost.Description = popis; událost.From = DateTime.Parse(datumZačátku); událost.To = DateTime.Parse(datumKonce); událost.Place = místo; událost.Id = int.Parse(id); Events.Add(událost); } foreach (XmlNode testNode in testy) { XmlElement testElement = (XmlElement)testNode; string předmět; int skupina; string název; string popis; string splnitDo; int id; string additionalInfo; předmět = testElement.GetAttribute("subject"); název = testElement.GetAttribute("title"); popis = testElement.GetAttribute("description"); splnitDo = testElement.GetAttribute("date"); skupina = int.Parse(testElement.GetAttribute("group")); id = int.Parse(testElement.GetAttribute("id")); additionalInfo = testElement.GetAttribute("additional_info_url"); Exam test = new Exam(); test.Name = název; test.Description = popis; test.Date = DateTime.Parse(splnitDo); test.Group = skupina; test.Subject = předmět.ToString(); test.Id = id; test.AdditionalInfo = additionalInfo; Exams.Add(test); } foreach (XmlNode úkolNode in úkoly) { XmlElement úkolElement = (XmlElement)úkolNode; string předmět; int skupina; string název; string popis; string splnitDo; int id; string additionalInfo; předmět = úkolElement.GetAttribute("subject"); název = úkolElement.GetAttribute("title"); popis = úkolElement.GetAttribute("description"); splnitDo = úkolElement.GetAttribute("date"); skupina = int.Parse(úkolElement.GetAttribute("group")); id = int.Parse(úkolElement.GetAttribute("id")); additionalInfo = úkolElement.GetAttribute("additional_info_url"); Task úkol = new Task(); úkol.Name = název; úkol.Description = popis; úkol.Date = DateTime.Parse(splnitDo); úkol.Group = skupina; úkol.Subject = předmět.ToString(); úkol.Id = id; úkol.AdditionalInfo = additionalInfo; Tasks.Add(úkol); } } catch (Exception e) { Error("Chyba při čtení souboru. Restartujte aplikaci a kontaktujte autora. " + e.Message); } ImportantMessage("Data byla úspešně nahrána"); httpDatabase = new Database(Events, Tasks, Exams); completed(httpDatabase); }