public async Task <BaseResponse <MerchandiseWrapper> > GetMerhandiseListDetail(BackStageSearchModel backStageSearchModel, string account) { try { if (backStageSearchModel == null) { throw new ArgumentNullException(nameof(backStageSearchModel)); } var customerData = context.Merchandise.Where(data => data.OwnerAccount == account); Console.WriteLine(backStageSearchModel.PageIndex); var customerDataList = customerData.OrderBy(backStageSearchModel.OrderString, backStageSearchModel.isOrderByDesc).Page(backStageSearchModel.PageIndex, backStageSearchModel.PageSize).Select(data => mapper.Map <Merchandise, MerchandiseViewModel>(data)).ToList(); MerchandiseWrapper result = new MerchandiseWrapper() { MerchandiseViewModel = customerDataList, MerchandiseAmount = customerData.Count() }; Console.WriteLine(result); return(new BaseResponse <MerchandiseWrapper>(true, "", result)); } catch (Exception ex) { return(new BaseResponse <MerchandiseWrapper>(false, "cannot get merchandise list", null)); } }
public BaseResponse <MerchandiseWrapper> GetMerchandiseListBySearching(SearchRequestModel searchRequestModel) { try { if (searchRequestModel == null) { throw new ArgumentNullException(nameof(searchRequestModel)); } bool isPartOfCategory = false; var rawData = context.Merchandise.AsQueryable(); if (searchRequestModel.CategoryId != null) { isPartOfCategory = true; rawData = rawData.Where(data => data.CategoryId.Equals(searchRequestModel.CategoryId, StringComparison.InvariantCulture)); } if (searchRequestModel.CategoryDetailId != null) { isPartOfCategory = true; rawData = rawData.Where(data => data.CategoryDetailId.Equals(searchRequestModel.CategoryDetailId, StringComparison.InvariantCulture)); } if (searchRequestModel.Keyword != null) { rawData = rawData.Where(data => data.MerchandiseTitle.ToLower(CultureInfo.CurrentCulture).Contains(searchRequestModel.Keyword, StringComparison.InvariantCulture)); } switch (searchRequestModel.SortType) { case SortTypeEnum.Price: //rawData = rawData.OrderBy(data => data.Price); rawData = rawData.SortByOrder(data => data.Price, searchRequestModel.OrderType ?? OrderTypeEnum.None); break; case SortTypeEnum.SoldQty: //rawData = rawData.OrderBy(data => data.SoldQty); rawData = rawData.SortByOrder(data => data.SoldQty, searchRequestModel.OrderType ?? OrderTypeEnum.None); break; case SortTypeEnum.Date: break; default: break; } int rawDatacount = rawData.Count(); var rawDataList = rawData.Page(searchRequestModel.PageIndex, searchRequestModel.PageSize).Select(data => mapper.Map <Merchandise, MerchandiseViewModel>(data)).ToList(); MerchandiseWrapper result = new MerchandiseWrapper() { MerchandiseViewModel = rawDataList, MerchandiseAmount = isPartOfCategory ? rawDatacount : context.Merchandise.Count() }; return(new BaseResponse <MerchandiseWrapper>(true, "", result)); } catch (Exception) { return(new BaseResponse <MerchandiseWrapper>(false, "cannot get merchandise list", null)); } }