using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SimpleValidator.Extensions; namespace Tango.BL.Entities { public partial class Contact { protected override void RaisePropertyChanged(string propName) { base.RaisePropertyChanged(propName); if (propName == nameof(FirstName) || propName == nameof(LastName)) { FixNames(); } } private void FixNames() { if (_firstname != null) { _firstname = _firstname.Trim(); } if (_lastname != null) { _lastname = _lastname.Trim(); } FullName = FirstName + " " + LastName; } public override void Validate(ObservablesContext context) { base.Validate(context); if (FirstName.IsNullOrWhiteSpace() || LastName.IsNullOrWhiteSpace()) { throw new ArgumentException("Contact first name and last name was not provided."); } if (!Email.IsEmail()) { throw new ArgumentException("Invalid contact email format."); } } } }