public async Task <OperationResult <AddressDto> > UpdateAddressAsync(UpdateAddressInput input) { var validatioResult = await _addressValidator.ValidateUpdateAddressAsync(input); if (validatioResult.IsSuccess) { var addresses = await _addressRepository.GetByCustomerAsync(input.CustomerEmail); var address = input.ConvertToEntity(); foreach (var e in addresses.Addresses.Where(a => a.Id == input.AddressId)) { e.Name = address.Name; e.ZipCode = address.ZipCode; e.City = address.City; e.Street = address.Street; e.Number = address.Number; e.Depatarment = address.Depatarment; e.BetweenStreet1 = address.BetweenStreet1; e.BetweenStreet2 = address.BetweenStreet2; e.Observations = address.Observations; e.Phone = address.Phone; e.Type = address.Type; e.CustomerEmail = address.CustomerEmail; } await _addressRepository.UpdateAsync(addresses); return(OperationResult <AddressDto> .Success(address.ConvertToDto())); } return(OperationResult <AddressDto> .Fail(validatioResult)); }