Example #1
0
        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));
            }
        }
Example #2
0
        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));
            }
        }