public async Task <WarehouseSearchResponse> Search(WarehouseSearchRequest request) { WarehouseSearchResponse response = new WarehouseSearchResponse(); try { List <WarehouseViewModel> warehouseViewModels = new List <WarehouseViewModel>(); RefSqlPaging paging = new RefSqlPaging(request.PageIndex, request.PageSize); var data = await _warehouseService.Search(request.Code, request.Email, request.Phone, request.Name, request.Status, request.Type, paging); var venderIds = data.Select(p => p.VendorId).ToArray(); Dictionary <string, string> vendorNameByIds = new Dictionary <string, string>(); if (venderIds.Length > 0) { var vendors = await _vendorService.GetFromDb(venderIds); vendorNameByIds = vendors.ToDictionary(p => p.Id, p => p.Name); } response.TotalRow = paging.TotalRow; foreach (var item in data) { //item.VendorName = dataVendor.Where(x => x.Id == item.VendorId.ToString()).FirstOrDefault().Name; var province = await _locationService.GetProvinceById(item.ProvinceId.ToString()); var district = await _locationService.GetDistrictById(item.DistrictId.ToString()); var village = await _locationService.GetWardById(item.VillageId.ToString()); RStreet road = await _locationService.GetStreetById(item.RoadId.ToString()); string venderName = string.Empty; if (!string.IsNullOrEmpty(item.VendorId)) { venderName = vendorNameByIds.ContainsKey(item.VendorId) ? vendorNameByIds[item.VendorId] : string.Empty; } var warehouseModel = item.ToModel(province.ProvinceName, district.DistrictName, village.WardName, road.StreetName, venderName); warehouseViewModels.Add(warehouseModel); } response.Warehouses = warehouseViewModels.ToArray(); response.PageIndex = request.PageIndex; response.PageSize = request.PageSize; response.SetSucess(); } catch (Exception e) { response.SetFail(e); _logger.LogError(e, e.Message, request); } return(response); }
public static StreetViewModel ToModelStreet(this RStreet street) { if (street == null) { return(null); } return(new StreetViewModel() { StreetName = street.StreetName, Id = street.Id }); }
public static LocationDetailResponse ToModelStreetDetail(this RStreet street) { if (street == null) { return(null); } return(new LocationDetailResponse() { Id = street.Id, StreetName = street.StreetName, StreetNameEN = street.StreetNameEN, }); }
public async Task <WarehouseGetResponse> Get(WarehouseGetRequest request) { WarehouseGetResponse response = new WarehouseGetResponse(); try { if (!string.IsNullOrEmpty(request.Id)) { var warehouse = await _warehouseService.GetById(request.Id); if (warehouse == null) { response.SetFail(BaseResponse.ErrorCodeEnum.UserNotFound); return(response); } var province = await _locationService.GetProvinceById(warehouse.ProvinceId.ToString()); var district = await _locationService.GetDistrictById(warehouse.DistrictId.ToString()); var village = await _locationService.GetWardById(warehouse.VillageId.ToString()); RStreet road = await _locationService.GetStreetById(warehouse.RoadId.ToString()); response.Warehouse = warehouse.ToModel(province.ProvinceName, district.DistrictName, village.WardName, road.StreetName); response.SetSucess(); } else { response.Warehouse = new WarehouseViewModel(); } } catch (Exception e) { response.SetFail(e); _logger.LogError(e, e.Message, request); } return(response); }
public async Task <bool> AddToEs(RProvince province, RDistrict district, RWard ward, RStreet street) { //RLocation location = CreateLocation(province, district, ward, street); //IndexEs<RLocation> indexEs = new IndexEs<RLocation>(EnumDefine.EsIndexName.AddressesBase, EnumDefine.EsIndexType.AddressBase, location.Key, location); //string response = await _esStorage.Add(indexEs); //var obj = Serialize.JsonDeserializeObject<EsAddResultDetail>(response); //return obj._shards.successful > 0 && obj._shards.failed <= 0; return(false); }