Esempio n. 1
0
        public async Task <AddressBookContact> CreateAddressBookContactAsync(AddressBookContact addressBookContactParameters)
        {
            var propertyNames = addressBookContactParameters.GetType().GetProperties()
                                .ToList().Where(x => x.GetValue(addressBookContactParameters) != null && x.Name != "AddressId")
                                .Select(y => y.Name).ToList();

            var addressBookContact = new AddressBookContact(addressBookContactParameters, propertyNames);

            return(await _addressBookContactRepository.AddAsync(addressBookContact));
        }
Esempio n. 2
0
        public async Task <AddressBookContact> UpdateAddressBookContactAsync(int addressDbId, AddressBookContact addressBookContactParameters)
        {
            //var addressBookContact = await this.GetAddressBookContactByIdAsync(addressId);
            var contactSpec        = new AddressBookContactSpecification(addressDbId);
            var addressBookContact = _addressBookContactRepository.GetByIdAsync(contactSpec).Result;

            addressBookContactParameters.GetType().GetProperties().ToList()
            .ForEach(async x => {
                if (x.GetValue(addressBookContactParameters) != null && x.Name != "AddressDbId")
                {
                    x.SetValue(addressBookContact, x.GetValue(addressBookContactParameters));
                }
            });

            await this._addressBookContactRepository.UpdateAsync(addressBookContact);

            return(await Task.Run(() =>
            {
                return addressBookContact;
            }));
        }