//Event fired when delete is selected from the main form public void DeletePerson(object sender, PersonInfoEventArgs e) { if (_addressBook.AddressBookList.Any()) { (string firstName, string lastName) = cleanUpName(e.PersonName); DialogResult dialogResult = MessageBox.Show("Are you sure you would like to delete this person?", "Delete", MessageBoxButtons.YesNoCancel); switch (dialogResult) { case DialogResult.Cancel: break; case DialogResult.Yes: Person person = _addressBook.getPerson(firstName, lastName); personIndex = findDeleteFocusIndex(person); _addressBook.AddressBookList.Remove(person); _view.DisableFindAgainButton(); RefreshAddressBook(); setListFocus(personIndex); break; case DialogResult.No: break; default: break; } } }
//Event fired when a persons name is double clicked in the main form public void ShowPersonInfo(object sender, PersonInfoEventArgs e) { (string firstName, string lastName) = cleanUpName(e.PersonName); Person person = _addressBook.getPerson(firstName, lastName); string personInfo = ""; foreach (PropertyInfo prop in person.GetType().GetProperties()) { personInfo += prop.GetValue(person) + Environment.NewLine; } MessageBox.Show("Requested Info: " + Environment.NewLine + personInfo, "Person Information", MessageBoxButtons.OK); }
//Event fired when Edit is clicked on the Main Form public void EditPerson(object sender, PersonInfoEventArgs e) { if (_addressBook.AddressBookList.Any()) { (string firstName, string lastName) = cleanUpName(e.PersonName); Person person = _addressBook.getPerson(firstName, lastName); using (newManageWindow = new ManagePerson(_addressBook, person)) { newManageWindow.ShowDialog(); if (!newManageWindow.Canceled) { _view.DisableFindAgainButton(); RefreshAddressBook(); } personIndex = findFocusIndex(person); setListFocus(personIndex); } } }