public static ElectronicAddress AddEmail(Address address, ElectronicAddressType type, bool isPrimary) { ElectronicAddress email = new ElectronicAddress(); email.Address = address; email.ElectronicAddressType = type; email.IsPrimary = isPrimary; return email; }
public static ElectronicAddress CreateElectronicAddress(Party party, ElectronicAddressType type, DateTime now) { Address address = new Address(); address.Party = party; address.AddressType = AddressType.ElectronicAddressType; address.EffectiveDate = now; ElectronicAddress electronicAddress = new ElectronicAddress(); electronicAddress.Address = address; electronicAddress.ElectronicAddressType = type; return electronicAddress; }
public static void CreateOrUpdateElectronicAddress(Party party, ElectronicAddress newElectronicAddress , ElectronicAddressType type, Func<Address, bool> condition, DateTime now) { var currentElectronicAddress = ElectronicAddress.GetCurrentElectronicAddress(party, type, condition); if (string.IsNullOrWhiteSpace(newElectronicAddress.ElectronicAddressString)) { if (currentElectronicAddress != null) currentElectronicAddress.Address.EndDate = now; if (newElectronicAddress.EntityState == System.Data.EntityState.Added) Context.Detach(newElectronicAddress); return; } bool isEqual = false; if (currentElectronicAddress != null) { isEqual = currentElectronicAddress.ElectronicAddressString == newElectronicAddress.ElectronicAddressString; if (isEqual == false) currentElectronicAddress.Address.EndDate = now; } if (isEqual == false) { Address address = new Address(); address.Party = party; address.AddressType = AddressType.ElectronicAddressType; address.EffectiveDate = now; newElectronicAddress.Address = address; newElectronicAddress.ElectronicAddressType = type; Context.ElectronicAddresses.AddObject(newElectronicAddress); } else { if (newElectronicAddress.EntityState == System.Data.EntityState.Added) Context.Detach(newElectronicAddress); } }
public static ElectronicAddress GetCurrentPostalAddressV2(Party party, ElectronicAddressType type, Func<ElectronicAddress, bool> condition) { ElectronicAddress electronicAddress = Context.ElectronicAddresses.SingleOrDefault(entity => entity.Address.PartyId == party.Id && entity.Address.EndDate == null && entity.ElectronicAddressTypeId == type.Id && condition(entity)); return electronicAddress; }
public static ElectronicAddress GetCurrentElectronicAddress(Party party, ElectronicAddressType type, Func<Address, bool> condition) { Address address = party.Addresses.SingleOrDefault(entity => entity.EndDate == null && entity.AddressTypeId == AddressType.ElectronicAddressType.Id && entity.ElectronicAddress.ElectronicAddressTypeId == type.Id && condition(entity)); if (address != null) return address.ElectronicAddress; return null; }
//New Email Address protected void CreateEmailAddress(Address Address, ElectronicAddressType ElectronicAddressType, string ElectronicAddressString) { if (string.IsNullOrWhiteSpace(ElectronicAddressString)) { ObjectContext.Detach(Address); return; } ElectronicAddress NewEmailAddress = new ElectronicAddress(); NewEmailAddress.Address = Address; NewEmailAddress.ElectronicAddressType = ElectronicAddressType; NewEmailAddress.ElectronicAddressString = ElectronicAddressString; NewEmailAddress.IsPrimary = true; ObjectContext.ElectronicAddresses.AddObject(NewEmailAddress); }