/// <summary> /// If simple, see in Btnhowuse_Click /// (it read, check send to server Contact object) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnEdit_Click(object sender, RoutedEventArgs e) { if (contactListBox.SelectedIndex == -1) { return; } if (contactListBox.SelectedIndex == viewModel.Contacts.Count() - 1) { MessageBox.Show("Please, click button HOW USE and read how add contact, thanks)))", "Instruction", MessageBoxButton.OK, MessageBoxImage.Information); } else { if (viewModel.SelectedContact.Telephone != telephone) { MessageBox.Show("Sorry! You can't change telephone!"); } else { BitmapImage bitmapImage = viewModel.SelectedContact.ImageBitmap; ContactByDB editcontact = new ContactByDB() { Name = viewModel.SelectedContact.Name, SurName = viewModel.SelectedContact.Surname, Age = viewModel.SelectedContact.Age, City = viewModel.SelectedContact.City, Telephone = viewModel.SelectedContact.Telephone, ImageContact = ConvertBitmapToByteArray(bitmapImage) }; var client = new TcpClient(Dns.GetHostName(), port); using (var stream = client.GetStream()) { var serializer_comand = new XmlSerializer(typeof(string)); serializer_comand.Serialize(stream, "edit"); } client = new TcpClient(Dns.GetHostName(), port); using (var stream = client.GetStream()) { var serializer = new XmlSerializer(typeof(ContactByDB)); serializer.Serialize(stream, editcontact); } MessageBox.Show("Contact edit!", "Info", MessageBoxButton.OK, MessageBoxImage.Information); foredit = false; } } Refresh(); }
/// <summary> /// If simple, see in Btnhowuse_Click /// (it read and del from list on UI, check send to server Contact object) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnDel_Click(object sender, RoutedEventArgs e) { if (contactListBox.SelectedIndex == viewModel.Contacts.Count() - 1) { MessageBox.Show("You can't delete it becouse it doesn't contact" + "(it element use for create new contact(click HOW USE for more))", "Info", MessageBoxButton.OK, MessageBoxImage.Exclamation); } else { if (contactListBox.SelectedIndex == -1) { return; } ContactByDB removecontact = new ContactByDB() { Name = viewModel.SelectedContact.Name, SurName = viewModel.SelectedContact.Surname, Age = viewModel.SelectedContact.Age, City = viewModel.SelectedContact.City, Telephone = viewModel.SelectedContact.Telephone, ImageContact = viewModel.SelectedContact.ImageContact }; var client = new TcpClient(Dns.GetHostName(), port); using (var stream = client.GetStream()) { var serializer_comand = new XmlSerializer(typeof(string)); serializer_comand.Serialize(stream, "delete"); } client = new TcpClient(Dns.GetHostName(), port); using (var stream = client.GetStream()) { var serializer = new XmlSerializer(typeof(ContactByDB)); serializer.Serialize(stream, removecontact); } viewModel.RemoveContact(viewModel.SelectedContact); } foredit = false; Refresh(); }
/// <summary> /// If simple, see in Btnhowuse_Click /// (it read, check send to server Contact object) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnAdd_Click(object sender, RoutedEventArgs e) { if (contactListBox.SelectedIndex == -1) { return; } if (contactListBox.SelectedIndex != viewModel.Contacts.Count() - 1) { MessageBox.Show("Please, click button HOW USE and read how add contact, thanks)))", "Instruction", MessageBoxButton.OK, MessageBoxImage.Information); } else { if (viewModel.SelectedContact.Name == "" || viewModel.SelectedContact.Surname == "" || viewModel.SelectedContact.Telephone == "") { MessageBox.Show("FullName and Telephone is important part! Please fill it!"); } else { Contact isexist; int age = viewModel.SelectedContact.Age; string city = viewModel.SelectedContact.City; BitmapImage bitmapImage = viewModel.SelectedContact.ImageBitmap; string telephone = viewModel.SelectedContact.Telephone; viewModel.SelectedContact.Telephone = ""; try { isexist = viewModel.Contacts.FirstOrDefault(a => a.Telephone == telephone); } catch (Exception) { isexist = null; viewModel.SelectedContact = new Contact() { Name = "Name", Age = 0, Surname = "LastName", City = "City", ImageBitmap = default_image, Telephone = "+1.. (telephone)" }; } if (isexist != null) { MessageBox.Show("This phone alredy used!"); viewModel.SelectedContact = new Contact() { Name = "Name", Age = 0, Surname = "LastName", City = "City", ImageBitmap = default_image, Telephone = "+1.. (telephone)" }; } else { viewModel.SelectedContact.Telephone = telephone; if (age.ToString() == "") { age = 3; } if (city == "") { city = "none"; } if (bitmapImage is null) { bitmapImage = default_image; } ContactByDB newcontact = new ContactByDB { Name = viewModel.SelectedContact.Name, SurName = viewModel.SelectedContact.Surname, Telephone = viewModel.SelectedContact.Telephone, Age = age, City = city, ImageContact = ConvertBitmapToByteArray(bitmapImage), }; var client = new TcpClient(Dns.GetHostName(), port); using (var stream = client.GetStream()) { var serializer_comand = new XmlSerializer(typeof(string)); serializer_comand.Serialize(stream, "add"); } client = new TcpClient(Dns.GetHostName(), port); using (var stream = client.GetStream()) { var serializer = new XmlSerializer(typeof(ContactByDB)); serializer.Serialize(stream, newcontact); } viewModel.AddContact(new Contact() { Name = "Name", Age = 0, Surname = "LastName", City = "City", ImageBitmap = default_image, Telephone = "+1.. (telephone)" }); foredit = false; Refresh(); } } } }