コード例 #1
0
        private Dictionary <string, object> ParamsToKeyValue(GoodsInfoCategoryParam param)
        {
            Dictionary <string, object> paramCollection = new Dictionary <string, object>();

            if (param.CategoryItemid > 0)
            {
                paramCollection.Add("CategoryItemid", param.CategoryItemid);
            }
            if (param.Brandsid > 0)
            {
                paramCollection.Add("Brandsid", param.Brandsid);
            }
            if (param.Charaid > 0)
            {
                paramCollection.Add("Charaid", param.Charaid);
            }
            if (param.Max > 0)
            {
                paramCollection.Add("Max", param.Max);
            }
            if (param.Min > 0)
            {
                paramCollection.Add("Min", param.Min);
            }
            return(paramCollection);
        }
コード例 #2
0
        public async Task <JsonResult> Get(int id, int?page, int pagesize = 10, string sort = "default")
        {
            var from = RequestHelper.GetQueryParams(Request);
            GoodsInfoCategoryParam param = new GoodsInfoCategoryParam();

            param.CategoryItemid = id;

            param.PageIndex = page ?? 1;
            param.PageSize  = pagesize;
            param.Sort      = SexyColor.CommonComponents.Utility.StringConvertToEnum <GoodsInfoCategoryAPISortBy>(sort);

            var brandResult = 0;

            if (int.TryParse(from["brand"], out brandResult))
            {
                param.Brandsid = brandResult;
            }

            var charaResult = 0;

            if (int.TryParse(from["chara"], out charaResult))
            {
                param.Charaid = charaResult;
            }

            var maxResult = 0;

            if (int.TryParse(from["max"], out maxResult))
            {
                param.Max = maxResult;
            }

            var minResult = 0;

            if (int.TryParse(from["min"], out minResult))
            {
                param.Min = minResult;
            }


            var goods = await categoryMiddleware.GetCategoryByParams(param);

            return(Json(goods));
        }
コード例 #3
0
        public async Task <GoodsInfoCategoryListDto> GetCategoryByParams(GoodsInfoCategoryParam param = null)
        {
            if (param == null)
            {
                return(null);
            }

            GoodsInfoCategoryListDto dto       = new GoodsInfoCategoryListDto();
            ScreeningDto             screenDto = new ScreeningDto();

            screenDto.price_grade = new List <GradeDto>();

            List <int> ids = new List <int>();

            await Task.Run(() =>
            {
                IEnumerable <CategoryItemInBrands> inBrands = goodsCategoryService.GetCategoryItemInBrandsByCategoryItemId(param.CategoryItemid);
                foreach (var inBrandItem in inBrands)
                {
                    ids.Add(inBrandItem.BrandsId);
                }
                var brands = goodsCategoryService.GetCategoryItemBrandsIds(ids);
                ids.Clear();
                Mapper.Initialize(c => c.CreateMap <CategoryItemBrands, BrandDto>()
                                  .ForMember(dest => dest.brand_id, opt => opt.MapFrom(src => src.BrandsId))
                                  .ForMember(dest => dest.brand_name, opt => opt.MapFrom(src => src.BrandsName))
                                  );
                screenDto.brands = Mapper.Map <IEnumerable <CategoryItemBrands>, List <BrandDto> >(brands);
            });

            await Task.Run(() =>
            {
                IEnumerable <CategoryItemInChara> inCharas = goodsCategoryService.GetCategoryItemInCharaByCategoryItemId(param.CategoryItemid);
                foreach (var inCharaItem in inCharas)
                {
                    ids.Add(inCharaItem.CharaId);
                }
                var charas = goodsCategoryService.GetCategoryItemCharaIds(ids);
                ids.Clear();
                Mapper.Initialize(c => c.CreateMap <CategoryItemChara, CharaDto>()
                                  .ForMember(dest => dest.chara, opt => opt.MapFrom(src => src.CharaId))
                                  .ForMember(dest => dest.name, opt => opt.MapFrom(src => src.CharaName))
                                  );
                screenDto.characteristic = Mapper.Map <IEnumerable <CategoryItemChara>, List <CharaDto> >(charas);
            });



            await Task.Run(() =>
            {
                PagingDataSet <GoodsInfo> pageing = goodsInfoService.GetPageGoodsInfoAPI(ParamsToKeyValue(param), ParamsSortValue(param.Sort), param.PageIndex, param.PageSize);
                dto.page_total  = pageing.PageCount;
                dto.c_total     = (int)pageing.TotalRecords;
                dto.c_page_next = param.PageIndex + 1;

                var pageings = pageing.ToList();
                Mapper.Initialize(c => c.CreateMap <GoodsInfo, GoodsInfoCategoryDto>()
                                  .ForMember(dest => dest.is_vedio, opt => opt.MapFrom(src => false))
                                  .ForMember(dest => dest.goods_id, opt => opt.MapFrom(src => src.Goodsid))
                                  .ForMember(dest => dest.goods_name, opt => opt.MapFrom(src => src.GoodsName))
                                  .ForMember(dest => dest.app_price, opt => opt.MapFrom(src => src.GoodsRealPrice))
                                  .ForMember(dest => dest.comment_num, opt => opt.MapFrom(src => src.CommenCount))
                                  .ForMember(dest => dest.img_url, opt => opt.MapFrom(src => src.ImageUrl))
                                  .ForMember(dest => dest.is_free_shipping, opt => opt.MapFrom(src => true))
                                  .ForMember(dest => dest.is_new, opt => opt.MapFrom(src => false))
                                  .ForMember(dest => dest.is_promote, opt => opt.MapFrom(src => false))
                                  .ForMember(dest => dest.sold_num, opt => opt.MapFrom(src => src.BuyCount))
                                  .ForMember(dest => dest.is_hot, opt => opt.MapFrom(src => src.IsHot))
                                  );
                dto.goods_list = Mapper.Map <List <GoodsInfo>, List <GoodsInfoCategoryDto> >(pageings);
            });

            dto.screening = screenDto;
            return(dto);
        }