コード例 #1
0
 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;
 }
コード例 #2
0
        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;
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
 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;
 }
コード例 #5
0
 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;
 }
コード例 #6
0
        //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);
        }