public Contact Add(Contact contact) { //Validate input if (contact == null) { throw new ArgumentNullException(nameof(contact)); } ObjectValidator.Validate(contact); //contact names must be unique var existing = FindByName(contact.Name); if (existing != null) { throw new Exception("Contact must be unique."); } return(AddCore(contact)); }
public Contact Update(int id, Contact contact) { //Validate if (id <= 0) { throw new ArgumentOutOfRangeException(nameof(id), "Id must be > 0."); } if (contact == null) { throw new ArgumentNullException(nameof(contact)); } ObjectValidator.Validate(contact); var sameName = FindByName(contact.Name); if (sameName != null && sameName.Id != id) { throw new Exception("Contact info must be unique."); } return(UpdateCore(id, contact)); }