public async Task <ActionResult <SaveAddressResource> > CreateCountry([FromBody] SaveAddressResource saveAddressResource) { var address = _mapper.Map <SaveAddressResource, Address>(saveAddressResource); address.TypeAddress = await _typeAddressService.GetTypeAddressById(saveAddressResource.TypeAddressId); var city = await _cityService.GetCityByName(saveAddressResource.CityName); var stateProvince = await _stateProvinceService.GetStateProvinceById(saveAddressResource.StateId); if (city != null && city.StateProvinceId == stateProvince.Id) { address.City = city; address.CityId = city.Id; } else { var cityToAdd = new City(); cityToAdd.Name = saveAddressResource.CityName; cityToAdd.StateProvinceId = saveAddressResource.StateId; var cityAdded = await _cityService.CreateCity(cityToAdd); address.City = cityAdded; address.CityId = cityAdded.Id; } address.Status = 1; var addressAdded = await _addressService.CreateAddress(address); var addressCreated = await _addressService.GetAddressById(addressAdded.Id); var token = Request.Headers["Authorization"].ToString(); var user = new JwtSecurityTokenHandler().ReadJwtToken(token); var userId = new Guid(user.Claims.ToArray()[0].Value.ToString()); var userAddresListItem = new UserAddressList(); userAddresListItem.UserId = userId; userAddresListItem.AddressId = addressCreated.Id; userAddresListItem.Status = 1; var addressListItemCreated = await _userAddressListService.CreateUserAddressListItem(userAddresListItem); if (addressListItemCreated == null) { BadRequest(); } var addressResource = _mapper.Map <Address, AddressResource>(addressCreated); return(Ok(addressResource)); }
public async Task <ActionResult <AddressResource> > UpdateAddress(int id, [FromBody] SaveAddressResource saveAddressResource) { var addressToUpdate = await _addressService.GetAddressById(id); if (addressToUpdate == null) { return(NotFound()); } var address = _mapper.Map <SaveAddressResource, Address>(saveAddressResource); var city = await _cityService.GetCityByName(saveAddressResource.CityName); var stateProvince = await _stateProvinceService.GetStateProvinceById(saveAddressResource.StateId); if (city != null && city.StateProvinceId == stateProvince.Id) { address.City = city; address.CityId = city.Id; } else { var cityToAdd = new City(); cityToAdd.Name = saveAddressResource.CityName; cityToAdd.StateProvinceId = saveAddressResource.StateId; var cityAdded = await _cityService.CreateCity(cityToAdd); address.City = cityAdded; address.CityId = cityAdded.Id; } await _addressService.UpdateAddress(addressToUpdate, address); var addressUpdated = await _addressService.GetAddressById(id); var addressResource = _mapper.Map <Address, AddressResource>(addressUpdated); return(Ok(addressResource)); }