public IActionResult Update([FromBody] AddressDto addressDto) { if (addressDto == null) { return(BadRequest("Null address")); } try { // map dto to entity Address address = _mapper.Map <Address>(addressDto); if (address == null) { return(BadRequest("Null address")); } Address addressToUpdate = _personUnit.AddressRepository.Get(address.AddressId); BinnacleAddress binnacleAddress = _mapper.Map <BinnacleAddress>(addressToUpdate); binnacleAddress.CreationDate = DatetimeBo.CurrentDateTime(); _personUnit.BinnacleAddressRepository.Insert(binnacleAddress); _personUnit.AddressRepository.Update(address); _personUnit.SaveChanges(); return(Ok(address)); } catch (AppException ex) { // return error message if there was an exception return(BadRequest(ex.Message)); } }
public IActionResult Update([FromBody] PersonDto personDto) { // map dto to entity var person = _mapper.Map <Person>(personDto); try { if (person.Address != null && person.Address.Count() > 0) { person.Address.ToList().ForEach(x => { x.Deleted = false; }); BinnacleAddress binnacleAddress = new BinnacleAddress(); Address addressToUpdate = new Address(); foreach (Address item in person.Address) { addressToUpdate = _personUnit.AddressRepository.Get(item.AddressId); binnacleAddress = new BinnacleAddress(); binnacleAddress = _mapper.Map <BinnacleAddress>(addressToUpdate); binnacleAddress.CreationDate = DatetimeBo.CurrentDateTime(); _personUnit.BinnacleAddressRepository.Insert(binnacleAddress); _personUnit.AddressRepository.Update(item); } } // save _personUnit.PersonRepository.Update(person, personDto.Password); _personUnit.SaveChanges(); return(Ok(person)); } catch (AppException ex) { // return error message if there was an exception return(BadRequest(ex.Message)); } }