// редактирование событий public void editEvents(Event [] evs) { indexOfEditableEvent = 0; editableEvents = evs; labelCurrentIndex.Text = (indexOfEditableEvent + 1).ToString() + "/" + editableEvents.Length.ToString(); fillFieldsEdit(editableEvents[indexOfEditableEvent]); }
// заполнение полей для редактирования public void fillFieldsEdit(Event ev) { textBoxName.Text = ev.name; textBoxPlacement.Text = ev.placement; dateTimePickerStart.Value = Convert.ToDateTime(ev.startDate); if (ev.endDate != null) { dateTimePickerEnd.Value = Convert.ToDateTime(ev.endDate); checkBoxNoViewEndDate.CheckState = CheckState.Unchecked; } else { checkBoxNoViewEndDate.CheckState = CheckState.Checked; } trackBarImportance.Value = ev.importance; textBoxDescription.Text = ev.description; }
// редактирование событий private void buttonEdit_Click(object sender, EventArgs e) { if (checkedListBoxEventsHeaders.CheckedIndices.Count > 0) { openEditForm(EditorMode.edit); // заполнение массива индексов событий для редактирования Event[] checkedEvents; checkedEvents = new Event[checkedListBoxEventsHeaders.CheckedIndices.Count]; int j = 0; foreach (int index in checkedListBoxEventsHeaders.CheckedIndices) { checkedEvents[j] = eventBox[index]; j++; } formEditorEvent.editEvents(checkedEvents); //updateEvents(); } else log("Для редактирования выберите событие(-я) из списка!"); }
// загрузка и обновление событий (2) private void loadEvents(string path) { doc = new XmlDocument(); try { doc.Load(path); } catch (Exception exc) { log("Ошибка при загрузке XML: " + exc.Message); return; } XmlElement events = doc.DocumentElement; eventBox = new Event[events.ChildNodes.Count]; if (events.ChildNodes.Count > 0) { byte j = 0; foreach (XmlNode event_node in events) { Event ev = new Event(); ev.datestamp = event_node.Attributes.GetNamedItem("datestamp").Value; foreach (XmlNode event_detail in event_node.ChildNodes) { if (event_detail.Name == "name") ev.name = event_detail.InnerText; if (event_detail.Name == "placement") ev.placement = event_detail.InnerText; if (event_detail.Name == "startdate") ev.startDate = event_detail.InnerText; if (event_detail.Name == "enddate") ev.endDate = event_detail.InnerText; if (event_detail.Name == "importance") ev.importance = Convert.ToByte(event_detail.InnerText); if (event_detail.Name == "description") ev.description = event_detail.InnerText; } eventBox[j] = ev; j++; } } }