public IObjectConverter <LocationShortList, LocationSearchResponse> GetLocationsSearchConverter(
     LocationSearchResponse response)
 {
     return(new InstaLocationSearchConverter {
         SourceObject = response
     });
 }
        public async Task <LocationSearchResponse> GetStreetByWardId(LocationSearchRequest request)
        {
            LocationSearchResponse response = new LocationSearchResponse();

            try
            {
                var data = await _locationService.StreetGetByWardIdFromDb(request.WardId);

                response.LtsStreet = data.Select(x => x.ToModelStreet()).ToArray();
            }
            catch (Exception e)
            {
                response.SetFail(e);
                _logger.LogError(e, e.Message, request);
            }
            return(response);
        }
        public async Task <LocationSearchResponse> GetWardByDistricId(LocationSearchRequest request)
        {
            LocationSearchResponse response = new LocationSearchResponse();

            try
            {
                var data = await _locationService.WardGetByDistrictIdFromDb(request.DistricId, request.Name);

                response.LtsWard = data.Select(x => x.ToModelWard()).ToArray();
            }
            catch (Exception e)
            {
                response.SetFail(e);
                _logger.LogError(e, e.Message, request);
            }
            return(response);
        }
        public async Task <LocationSearchResponse> GetDistrcisByProvinceId(LocationSearchRequest request)
        {
            LocationSearchResponse response = new LocationSearchResponse();

            try
            {
                var data = await _locationService.DistrictGetByProvinceIdFromDb(request.ProvinceId, request.Name);

                response.LtsDictrics = data.Select(x => x.ToModelDistric()).ToArray();
            }
            catch (Exception e)
            {
                response.SetFail(e);
                _logger.LogError(e, e.Message, request);
            }
            return(response);
        }
        public async Task <LocationSearchResponse> GetAllProvince(LocationSearchRequest request)
        {
            LocationSearchResponse response = new LocationSearchResponse();

            try
            {
                var data = await _locationService.ProvinceGetAllFromDb(request.Name);

                response.LtsProvince = data.Select(x => x.ToModel()).ToArray();
            }
            catch (Exception e)
            {
                response.SetFail(e);
                _logger.LogError(e, e.Message, request);
            }
            return(response);
        }