/// <summary> /// Initializes a new instance of the <see cref="AgencyAddressAndPhone"/> class. /// </summary> /// <param name="agencyAddress"> /// The agency address. /// </param> protected internal AgencyAddressAndPhone(AgencyAddress agencyAddress) : this() { Check.IsNotNull(agencyAddress, () => AgencyAddress); _agencyAddress = agencyAddress; }
public virtual int _GetUniqueIdentifier() { var hashCode = 399326290; hashCode = hashCode * -1521134295 + (Id?.GetHashCode() ?? 0); hashCode = hashCode * -1521134295 + (AgencyCode?.GetHashCode() ?? 0); hashCode = hashCode * -1521134295 + (AgencyDescription?.GetHashCode() ?? 0); hashCode = hashCode * -1521134295 + (AgencyAddress?.GetHashCode() ?? 0); hashCode = hashCode * -1521134295 + (IsSelected.GetHashCode()); hashCode = hashCode * -1521134295 + (Rating?.GetHashCode() ?? 0); return(hashCode); }
/// <summary> /// Adds the address and phone. /// </summary> /// <param name="agencyAddress"> /// The agency address. /// </param> /// <returns> /// An AgencyAddressAndPhone. /// </returns> public virtual AgencyAddressAndPhone AddAddressAndPhone( AgencyAddress agencyAddress ) { Check.IsNotNull ( agencyAddress, "agencyAddress is required." ); AgencyAddressAndPhone addressAndPhone = null; var createdAgencyAddressAndPhone = new AgencyAddressAndPhone ( agencyAddress ); DomainRuleEngine.CreateRuleEngine ( this, "AddAddressAndPhone" ) .WithContext ( createdAgencyAddressAndPhone ) .Execute(() => { addressAndPhone = createdAgencyAddressAndPhone; addressAndPhone.Agency = this; _addressesAndPhones.Add(addressAndPhone); NotifyItemAdded(() => AddressesAndPhones, addressAndPhone); }); return addressAndPhone; }
/// <summary> /// Revises the agency address. /// </summary> /// <param name="agencyAddress"> /// The agency address. /// </param> public virtual void ReviseAgencyAddress(AgencyAddress agencyAddress) { Check.IsNotNull(agencyAddress, () => AgencyAddress); DomainRuleEngine.CreateRuleEngine<Agency, AgencyAddress> ( Agency, () => ReviseAgencyAddress ) .WithContext ( agencyAddress ) .WithContext ( this ) .Execute(() => AgencyAddress = agencyAddress); }