/// <summary>
        /// Maps an entity to a dto.
        /// </summary>
        /// <param name="address">Persistence address.</param>
        /// <returns>AddressDTO.</returns>
        public static AddressDTO EntityToDTO(Persistence.Model.Address address)
        {
            if (address == null)
            {
                return(null);
            }

            AddressDTO addressDTO = new AddressDTO
            {
                Id        = address.Id,
                Latitude  = address.Latitude,
                Longitude = address.Longitude,
                Number    = address.Number,
                Street    = address.Street,
                Country   = CountryMapper.EntityToDTO(address.Country)
            };

            return(addressDTO);
        }
        /// <summary>
        /// Maps a dto to an entity.
        /// </summary>
        /// <param name="addressDTO">DTO address.</param>
        /// <param name="address">Persistence address.</param>
        /// <returns>Address.</returns>
        public static Persistence.Model.Address DTOToEntity(AddressDTO addressDTO, Persistence.Model.Address address)
        {
            if (addressDTO == null)
            {
                return(null);
            }

            if (address == null)
            {
                address = new Persistence.Model.Address();
            }

            address.Id        = addressDTO.Id;
            address.Latitude  = addressDTO.Latitude;
            address.Longitude = addressDTO.Longitude;
            address.Number    = addressDTO.Number;
            address.Street    = addressDTO.Street;

            return(address);
        }
 public async Task Add(AddressDTO addressDTO)
 {
     Persistence.Model.Address address = AddressMapper.DTOToEntity(addressDTO, new Persistence.Model.Address());
     await this.addressOperations.Add(address);
 }
        public async Task <AddressDTO> Retrieve(int id)
        {
            Persistence.Model.Address address = await this.addressOperations.Find(id);

            return(AddressMapper.EntityToDTO(address));
        }