示例#1
0
        private void CreateUpdate_Button_Click(object sender, RoutedEventArgs e)
        {
            SelectedContact.Name        = NameTextBox.Text;
            SelectedContact.Surname     = SurnameTextBox.Text;
            SelectedContact.PhoneNumber = PhoneNumberTextBox.Text;
            SelectedContact.Sex         = (SexEnum)SexComboBox.SelectedIndex + 1;

            if (SelectedContact.Id == 0)
            {
                var addedContact = contactsDAL.InsertContact(SelectedContact);
                MainTable.ItemsSource = MainTable.ItemsSource.Cast <Contact>().Concat(new List <Contact> {
                    addedContact
                });
            }
            else
            {
                var updatedElement             = contactsDAL.UpdateContact(SelectedContact);
                var actualMainTableItemsSource = MainTable.ItemsSource.Cast <Contact>().ToList();
                var elementInTable             = actualMainTableItemsSource.FirstOrDefault(x => x.Id == updatedElement.Id);
                actualMainTableItemsSource.Remove(elementInTable);
                actualMainTableItemsSource.Add(updatedElement);
                MainTable.ItemsSource = actualMainTableItemsSource;
            }

            ClearContactData();
        }
        public ActionResult <Contact> AddContact([FromBody] Contact contact)
        {
            var contactsDAL = new ContactDAL();
            var result      = contactsDAL.InsertContact(contact);

            return(Ok(result));
        }
示例#3
0
        /// <summary>
        /// Spara en kontaktuppgift i databasen.
        /// </summary>
        /// <param name="customer">KOntaktuppgifter som ska sparas.</param>
        public void SaveContact(Contact contact)
        {
            // Uppfyller inte objektet affärsreglerna...
            ICollection <ValidationResult> validationResults;

            if (!contact.Validate(out validationResults)) // Använder "extension method" för valideringen!
            {                                             // Klassen finns under App_Infrastructure.
                // ...kastas ett undantag med ett allmänt felmeddelande samt en referens
                // till samlingen med resultat av valideringen.
                var ex = new ValidationException("Objektet klarade inte valideringen.");
                ex.Data.Add("ValidationResults", validationResults);
                throw ex;
            }

            // Contact-objektet sparas antingen genom att en ny post
            // skapas eller genom att en befintlig post uppdateras.
            if (contact.ContactId == 0) // Ny post om ContactId är 0!
            {
                ContactDAL.InsertContact(contact);
            }
            else
            {
                ContactDAL.UpdateContact(contact);
            }
        }