/// <summary> /// Converts this display crisis contact to a database contact. /// </summary> /// <returns>DB version of the contact</returns> public CrisisContact ToDbCrisisContact() { CrisisContact dbContact; if (ID == 0) { //New crisis contact dbContact = new CrisisContact { Name = this.Name, Contact = new Contact { Phone = new string(this.PhoneNumber.Where(c => char.IsDigit(c)).ToArray()) } }; } else { var logics = new CrisisContactLogic(); //Go find the existing one and set changes dbContact = logics.GetDbCrisisContact(this.ID); dbContact.Name = this.Name; dbContact.Contact.Phone = this.PhoneNumber; } return(dbContact); }
/// <summary> /// Crisis Contact Display Constructor /// </summary> /// <param name="dbContact">Db contact to fill in values with</param> public CrisisContactDisplay(CrisisContact dbContact) { this.ID = dbContact.ID; this.Name = dbContact.Name; this.ContactId = dbContact.ContactId; this.PhoneNumber = formatPhoneNumber(dbContact.Contact.Phone); }
/// <summary> /// Creates a crisis contact /// </summary> /// <param name="crisisContactToCreate">Crisis contact to be created</param> /// <returns>ID of the new crisis contact</returns> public int?CreateCrisisContact(CrisisContact crisisContactToCreate) { try { var createdContact = this.db.CrisisContacts.Add(crisisContactToCreate); this.db.SaveChanges(); return(createdContact.ID); } catch (Exception ex) { return(null); } }
/// <summary> /// Updates an existing crisis contact /// </summary> /// <param name="crisisContactToUpdate"></param> /// <returns></returns> public bool UpdateCrisisContact(CrisisContact crisisContactToUpdate) { try { var existingContact = this.db.CrisisContacts.Single(cc => cc.ID == crisisContactToUpdate.ID); existingContact.Name = crisisContactToUpdate.Name; existingContact.Contact.Phone = crisisContactToUpdate.Contact.Phone; db.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }