public UpdatePersonPage(int id) : this() { using (var service = new PhoneBookCRUDService()) { _Person = service.GetPersonById(id); } }
private void bDelete_Click(object sender, RoutedEventArgs e) { if(!String.IsNullOrWhiteSpace(tbPersonId.Text)) { using (var service = new PhoneBookCRUDService()) { service.RemovePersonById(Int32.Parse(tbPersonId.Text)); } } PageSwitcher.Switch(new PeopleListPage()); }
private void bSave_Click(object sender, RoutedEventArgs e) { if (String.IsNullOrWhiteSpace(tbFirstName.Text)) { MessageBox.Show("Поле 'Имя' должно быть заполнено!"); return; } if (_PhoneNumberItems.FirstOrDefault(x => String.IsNullOrWhiteSpace(x.Number)) != null) { MessageBox.Show("Поле 'Телефон' должно быть заполнено!"); return; } var fullPath = iPersonImage.Source.ToString().Remove(0, 8); var name = fullPath.Split('/').Last(); var projectPath = Environment.CurrentDirectory; var newFilePath = "PeopleImages/" + name; if (!File.Exists(newFilePath)) { File.Copy(fullPath, projectPath + '/' + newFilePath); } var person = new Person( tbFirstName.Text, tbLastName.Text, tbPatronymic.Text, newFilePath); person.AddPhones(_PhoneNumberItems .Where(x => !String.IsNullOrWhiteSpace(x.Number)) .Select(x => _PhoneNumberConverter.Convert(x)) .ToList()); try { using (var service = new PhoneBookCRUDService()) { service.AddPerson(person); } } catch (DuplicatePersonNameException ex) { MessageBox.Show("Контакт с таким именем уже существует!"); return; } PageSwitcher.Switch(new PeopleListPage()); }
private void FillForm() { PhoneBookCRUDService service = new PhoneBookCRUDService(); var person = service.GetPersonById(_personId); tbPersonId.Text = person.Id.ToString(); lFirstName.Content = person.FirstName; lLastName.Content = person.LastName; lPatronymic.Content = person.Patronymic; var uri = new Uri(person.ImagePath, UriKind.Relative); iPersonImage.Source = (ImageHelper.GetImageFromUri(uri)).Source; foreach(var number in person.PhoneNumbers) { lbNumbers.Items.Add(number); } }
private void FillPeopleList() { List<Person> people; using (var service = new PhoneBookCRUDService()) { people = service.GetAllPeople(); } foreach (var person in people.OrderBy(x => x.FullName)) { var uri = new Uri(person.ImagePath, UriKind.Relative); PeopleList.Items.Add( new PersonListItem( person.Id, ImageHelper.GetImageFromUri(uri), person.FullName)); } }
private void bSave_Click(object sender, RoutedEventArgs e) { if (String.IsNullOrWhiteSpace(tbFirstName.Text)) { MessageBox.Show("Поле 'Имя' должно быть заполнено!"); return; } if (_PhoneNumberItems.FirstOrDefault(x => String.IsNullOrWhiteSpace(x.Number)) != null) { MessageBox.Show("Поле 'Телефон' должно быть заполнено!"); return; } var fullPath = iPersonImage.Source.ToString().Remove(0, 8); var name = fullPath.Split('/').Last(); var projectPath = Environment.CurrentDirectory; var newFilePath = "PeopleImages/" + name; if (!File.Exists(newFilePath)) { File.Copy(fullPath, projectPath + '/' + newFilePath); } _Person.FirstName = tbFirstName.Text; _Person.LastName = tbLastName.Text; _Person.Patronymic = tbPatronymic.Text; _Person.ImagePath = newFilePath; try { using (var service = new PhoneBookCRUDService()) { var oldPhones = _Person.PhoneNumbers; foreach (var phone in oldPhones) { if (_PhoneNumberItems.SingleOrDefault(x => x.Id == phone.Id) == null) { service.DeleteNumber(phone); } } foreach (var phone in _PhoneNumberItems) { var blPhone = _PhoneNumberConverter.Convert(phone); blPhone.SetPerson(_Person.Id); if (blPhone.Id == 0) { service.AddNumber(blPhone); } else { service.UpdateNumber(blPhone); } } service.UpdatePerson(_Person); } } catch (DuplicatePersonNameException ex) { MessageBox.Show("Не удалось обновить данные о контакте!Такие данные уже существуют!"); return; } PageSwitcher.Switch(new PeopleListPage()); }