private void dgContacts_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (dgContacts.SelectedRows.Count > 0) { Contact selectedContact = dgContacts.SelectedRows[0].DataBoundItem as Contact; using (var form = new ContactEditForm(selectedContact)) { if (form.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { var id = selectedContact.ID.ToString(); var element = tvCompanies.SelectedNode.Tag as XElement; var contact = (from c in element.Element("contacts").Elements("contact") where id == c.Element("id").Value select c).Single(); contact.SetElementValue("fullname", selectedContact.FullName); contact.SetElementValue("phone", selectedContact.Phone); contact.SetElementValue("mobile", selectedContact.Mobile); contact.SetElementValue("fax", selectedContact.Fax); contact.SetElementValue("email", selectedContact.Email); contact.SetElementValue("position", selectedContact.Position); contact.SetElementValue("remarks", selectedContact.Remarks); } } } }
private void btnAddContact_Click(object sender, EventArgs e) { using (var form = new ContactEditForm(new Contact { ID = Guid.NewGuid() })) { if (form.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { contactsBinding.Add(form.Entity); var element = tvCompanies.SelectedNode.Tag as XElement; element.Element("contacts").Add(new XElement("contact", new XElement("id", form.Entity.ID.ToString()), new XElement("fullname", form.Entity.FullName), new XElement("phone", form.Entity.Phone), new XElement("mobile", form.Entity.Mobile), new XElement("fax", form.Entity.Fax), new XElement("email", form.Entity.Email), new XElement("position", form.Entity.Position), new XElement("remarks", form.Entity.Remarks))); } } }