コード例 #1
0
        private void updateAddress(Person person, Person updatedPerson, int addressType, IFootlooseFSUnitOfWork unitOfWork)
        {
            var updatedAddressAssn = updatedPerson.Addresses.Where(a => a.AddressTypeID == addressType).FirstOrDefault();

            if (updatedAddressAssn == null)
            {
                var addressAssn = person.Addresses.Where(a => a.AddressTypeID == addressType).FirstOrDefault();
                if (addressAssn != null)
                {
                    unitOfWork.Addresses.Delete(addressAssn.Address);
                    unitOfWork.PersonAddressAssns.Delete(addressAssn);
                }
            }
            else
            {
                var addressAssn = person.Addresses.Where(a => a.AddressTypeID == addressType).FirstOrDefault();
                if (addressAssn == null)
                {
                    addressAssn               = new PersonAddressAssn();
                    addressAssn.PersonID      = updatedAddressAssn.PersonID;
                    addressAssn.AddressTypeID = updatedAddressAssn.AddressTypeID;
                    addressAssn.Address       = new Address();

                    person.Addresses.Add(addressAssn);
                }

                addressAssn.Address.StreetAddress = updatedAddressAssn.Address.StreetAddress;
                addressAssn.Address.City          = updatedAddressAssn.Address.City;
                addressAssn.Address.State         = updatedAddressAssn.Address.State;
                addressAssn.Address.Zip           = updatedAddressAssn.Address.Zip;
            }
        }
コード例 #2
0
        // PUT: /api/contactinfo
        public void Put([FromBody] ContactInfoViewModel contactInfoViewModel)
        {
            // Get Person data model from the data service
            // we do not need account nor transactions
            var person = service.GetPersonByUsername(authenticatedUser, new PersonIncludes {
                Accounts = false, Addressses = false, Phones = false, AccountTransactions = false
            });

            // Update the Email Address in the person model
            person.EmailAddress = contactInfoViewModel.EmailAddress;

            person.Phones    = new List <Phone>();
            person.Addresses = new List <PersonAddressAssn>();

            // Add the phone numbers to the person model
            foreach (PhoneViewModel phoneViewModel in contactInfoViewModel.PhoneNumbers)
            {
                if (!string.IsNullOrEmpty(phoneViewModel.Number))
                {
                    var phone = new Phone
                    {
                        PhoneTypeID = phoneViewModel.PhoneTypeID,
                        Number      = phoneViewModel.Number
                    };
                    person.Phones.Add(phone);
                }
            }

            // Add the addresses to the person model
            foreach (AddressViewModel addressViewModel in contactInfoViewModel.Addresses)
            {
                if (!string.IsNullOrEmpty(addressViewModel.StreetAddress))
                {
                    var address = new PersonAddressAssn
                    {
                        AddressTypeID = addressViewModel.AddressTypeID,
                        Address       = new Address
                        {
                            StreetAddress = addressViewModel.StreetAddress,
                            City          = addressViewModel.City,
                            State         = addressViewModel.State,
                            Zip           = addressViewModel.Zip
                        }
                    };
                    person.Addresses.Add(address);
                }
            }

            // Update the data store
            var oppStatus = service.UpdatePerson(person);

            // Return success or error state
            if (!oppStatus.Success)
            {
                throw new Exception(oppStatus.Messages[0]);
            }
        }
コード例 #3
0
        private void updateAddress(Person person, Person updatedPerson, int addressType)
        {
            var updatedAddressAssn = updatedPerson.Addresses.Where(a => a.AddressTypeID == addressType).FirstOrDefault();

            if (updatedAddressAssn == null)
            {
                var addressAssn = person.Addresses.Where(a => a.AddressTypeID == addressType).FirstOrDefault();
                if (addressAssn != null)
                {
                    _unitOfWork.Addresses.Delete(addressAssn.Address);
                    _unitOfWork.PersonAddressAssns.Delete(addressAssn);
                }
            }
            else
            {
                var addressAssn = person.Addresses.Where(a => a.AddressTypeID == addressType).FirstOrDefault();
                if (addressAssn == null && !string.IsNullOrEmpty(updatedAddressAssn.Address.StreetAddress))
                {
                    addressAssn               = new PersonAddressAssn();
                    addressAssn.PersonID      = updatedAddressAssn.PersonID;
                    addressAssn.AddressTypeID = updatedAddressAssn.AddressTypeID;

                    addressAssn.Address = new Address();
                    addressAssn.Address.StreetAddress = updatedAddressAssn.Address.StreetAddress;
                    addressAssn.Address.City          = updatedAddressAssn.Address.City;
                    addressAssn.Address.State         = updatedAddressAssn.Address.State;
                    addressAssn.Address.Zip           = updatedAddressAssn.Address.Zip;

                    person.Addresses.Add(addressAssn);
                }
                else if (addressAssn != null)
                {
                    addressAssn.Address.StreetAddress = updatedAddressAssn.Address.StreetAddress;
                    addressAssn.Address.City          = updatedAddressAssn.Address.City;
                    addressAssn.Address.State         = updatedAddressAssn.Address.State;
                    addressAssn.Address.Zip           = updatedAddressAssn.Address.Zip;
                }
            }
        }