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