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)); }
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; })); }