예제 #1
0
파일: Program.cs 프로젝트: Cendrb/UTU
 private static void Psim(Database data)
 {
     Console.WriteLine("The End!");
 }
예제 #2
0
 private void reset()
 {
     //initialize datasource
     dataLoader.LoadFromWebUsingHttpRequest(
         delegate(Database database)
         {
             PrimaryDataSource = database;
             settings.LoadSettings();
             showInfo(Group, PrimaryDataSource);
         }, true);
 }
예제 #3
0
        /// <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);
                }
            }
        }
예제 #4
0
파일: DataLoader.cs 프로젝트: Cendrb/UTU
        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);
        }