Example #1
0
        internal static void LoadHomeWork()
        {
            string file = Data.homeWorkFile;
            if (File.Exists(file))
            {
                FileStream xmlfs = new FileStream(file, FileMode.Open);
                XmlReader xmlr = XmlReader.Create(xmlfs);

                HomeWork current = null;

                while (xmlr.Read())
                {
                    if (xmlr.Name == "HomeWork" && xmlr.NodeType == XmlNodeType.Element)
                    {
                        current = new HomeWork("", false, 0, DateTime.Now);
                    }
                    else if (xmlr.Name == "item" && xmlr.NodeType == XmlNodeType.Element)
                    {
                        //Get property name
                        string nodekey = xmlr.GetAttribute("key");

                        //load properties in class
                        Type ptype = current.GetType().GetProperty(nodekey).PropertyType;

                        //Set property
                        current.GetType().GetProperty(nodekey).SetValue(
                            //Store in current
                            current,
                            //Cast data in element to property type
                            Convert.ChangeType(
                                xmlr.ReadElementContentAsString(),
                                ptype),
                            //Not used, only for indexed properties. Use null
                            null);
                    }
                    else if (xmlr.Name == "HomeWork" && xmlr.NodeType == XmlNodeType.EndElement)
                    {
                        Data.homework.Add(current);
                    }
                }
                xmlfs.Close();
            }
        }
        private void button_homework_add_Click(object sender, EventArgs e)
        {
            DateTime monday = getMonday(dateTimePicker1.Value);

            if (dataGridView_timeTable.SelectedCells[0].ColumnIndex != 0)
            {
                int day = dataGridView_timeTable.SelectedCells[0].ColumnIndex - 1;

                DateTime selectedDay = monday.AddDays(day);

                AddHomework ah = new AddHomework(selectedDay.DayOfWeek.ToString() + " " + selectedDay.Date.ToString("d.MM.yy"), (dataGridView_timeTable.SelectedCells[0].Value != null ? dataGridView_timeTable.SelectedCells[0].Value.ToString() : ""));
                if (ah.ShowDialog() == DialogResult.OK)
                {
                    HomeWork hw = new HomeWork(ah.task, false, dataGridView_timeTable.SelectedCells[0].RowIndex, selectedDay);
                    Data.homework.Add(hw);
                    displayHomework();
                }
            }
        }