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(); } } }