using AppointmentsLib.Models; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace AppointmentsUi.Views { public partial class ContactView : Form { Contact? contact; IEnumerable salutations; IEnumerable postals; IEnumerable phoneTypes; IEnumerable companies; public ContactView(Contact? contact) { InitializeComponent(); this.contact = contact; salutations = Salutation.GetSalutations(); postals = Postal.GetPostals(); phoneTypes = PhoneType.GetPhoneTypes(); companies = Company.GetCompanies(); comboBoxSalutation.Items.AddRange(salutations.Select(sal => $"{sal.SalutationId}: {sal.Label}").ToArray()); comboBoxPostal.Items.AddRange(postals.Select(sal => $"{sal.PostalId}: {sal.Label}").ToArray()); comboBoxPhoneType.Items.AddRange(phoneTypes.Select(sal => $"{sal.PhoneTypeId}: {sal.Label}").ToArray()); comboBoxCompany.Items.AddRange(companies.Select(sal => $"{sal.CompanyId}: {sal.Label}").ToArray()); if (contact == null) { // create new contact buttonApplyCreate.Text = "Create"; buttonApplyCreate.Click += new EventHandler(delegate (object sender, EventArgs e) { var salutationId = Int32.Parse(comboBoxSalutation.SelectedItem.ToString().Split(":").First()); var postalId = Int32.Parse(comboBoxPostal.SelectedItem.ToString().Split(":").First()); var phoneTypeId = Int32.Parse(comboBoxPhoneType.SelectedItem.ToString().Split(":").First()); var companyId = Int32.Parse(comboBoxCompany.SelectedItem.ToString().Split(":").First()); Contact.Create(salutationId, textBoxFirstName.Text, textBoxLastName.Text, textBoxStreet.Text, postalId, textBoxPhone.Text, phoneTypeId, textBoxMobil.Text, companyId, textBoxDepartment.Text); this.Close(); }); buttonDelete.Enabled = false; } else { textBoxFirstName.Text = contact.FirstName; textBoxLastName.Text = contact.LastName; textBoxStreet.Text = contact.Street; textBoxDepartment.Text = contact.Department; textBoxPhone.Text = contact.Phone; textBoxMobil.Text = contact.Mobil; buttonApplyCreate.Click += new EventHandler(delegate (object sender, EventArgs e) { var salutationId = Int32.Parse(comboBoxSalutation.SelectedItem.ToString().Split(":").First()); var postalId = Int32.Parse(comboBoxPostal.SelectedItem.ToString().Split(":").First()); var phoneTypeId = Int32.Parse(comboBoxPhoneType.SelectedItem.ToString().Split(":").First()); var companyId = Int32.Parse(comboBoxCompany.SelectedItem.ToString().Split(":").First()); contact.FirstName = textBoxFirstName.Text; contact.LastName = textBoxLastName.Text; contact.Street = textBoxStreet.Text; contact.Phone = textBoxPhone.Text; contact.Mobil = textBoxMobil.Text; contact.Department = textBoxDepartment.Text; contact.Salutation = Salutation.GetSalutationById(salutationId); contact.Postal = Postal.GetPostalById(postalId); contact.PhoneType = PhoneType.GetPhoneTypeById(phoneTypeId); contact.Company = Company.GetCompanyById(companyId); contact.Save(); this.Close(); }); comboBoxSalutation.SelectedItem = $"{contact.Salutation.SalutationId}: {contact.Salutation.Label}"; comboBoxPostal.SelectedItem = $"{contact.Postal.PostalId}: {contact.Postal.Label}"; comboBoxPhoneType.SelectedItem = $"{contact.PhoneType.PhoneTypeId}: {contact.PhoneType.Label}"; comboBoxCompany.SelectedItem = $"{contact.Company.CompanyId}: {contact.Company.Label}"; } } } }