コード例 #1
0
ファイル: Commodity.cs プロジェクト: GSIL-Monitor/BTP
        /// <summary>
        /// 查询商家所有下架商品按照销售量排序 - 新增
        /// </summary>
        /// <param name="id">商家ID</param>
        /// <returns></returns>
        public System.Collections.Generic.List <Jinher.AMP.BTP.Deploy.CommodityDTO> GetAllNoOnSaleCommodityBySellerIDBySalesvolume(System.Guid id, int pageSize, int pageIndex, string commodityName, string commodityCategory, string sSalesvolume, string eSalesvolume, string sPrice, string ePrice, out int rowCount)
        {
            var query = Commodity.ObjectSet().Where(n => n.IsDel.Equals(false) && n.AppId.Equals(id) && (n.State == 1 || n.State == 2) && n.CommodityType == 0);

            #region 条件查询
            if (!string.IsNullOrEmpty(commodityName))
            {
                query = query.Where(n => n.Name.Contains(commodityName));
            }
            if (!string.IsNullOrEmpty(sSalesvolume))
            {
                int s = int.Parse(sSalesvolume);
                query = query.Where(n => n.Salesvolume >= s);
            }
            if (!string.IsNullOrEmpty(eSalesvolume))
            {
                int e = int.Parse(eSalesvolume);
                query = query.Where(n => n.Salesvolume <= e);
            }
            if (!string.IsNullOrEmpty(sPrice))
            {
                decimal s = 0;
                if (!decimal.TryParse(sPrice, out s))//长度越界
                {
                    rowCount = 0;
                    return(new Commodity().ToEntityDataList(new List <Commodity>()));
                }
                query = query.Where(n => n.Price >= s);
            }
            if (!string.IsNullOrEmpty(ePrice))
            {
                decimal e = 0;
                if (!decimal.TryParse(ePrice, out e))//长度越界
                {
                    rowCount = 0;
                    return(new Commodity().ToEntityDataList(new List <Commodity>()));
                }
                query = query.Where(n => n.Price <= e);
            }
            if (!string.IsNullOrEmpty(commodityCategory))
            {
                string[]    commodityCategoryID = commodityCategory.Split(',');
                List <Guid> idlist = new List <Guid>();
                foreach (string commodityCategoryid in commodityCategoryID)
                {
                    if (!string.IsNullOrEmpty(commodityCategoryid))
                    {
                        idlist.Add(new Guid(commodityCategoryid));
                    }
                }
                query = from n in query
                        join m in CommodityCategory.ObjectSet() on n.Id equals m.CommodityId
                        where idlist.Contains(m.CategoryId)
                        select n;
            }
            #endregion
            rowCount = query.Count();
            var list = query.OrderByDescending(n => n.SubTime).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
            return(new Commodity().ToEntityDataList(list));
        }
コード例 #2
0
        /// <summary>
        /// 创建商品默认分类
        /// </summary>
        /// <param name="appId"></param>
        /// <returns></returns>
        public static CommodityCategory CreateDefaultCategory(Guid commodityId, Guid appId, Guid subId)
        {
            CommodityCategory result = CommodityCategory.CreateCommodityCategory();

            result.CategoryId  = Guid.Empty;
            result.CommodityId = commodityId;
            result.SubId       = subId;
            result.SubTime     = DateTime.Now;
            result.Name        = "商品分类";
            result.AppId       = appId;
            result.CrcAppId    = Jinher.JAP.Common.Crc64.ComputeAsAsciiGuid(appId);
            return(result);
        }
コード例 #3
0
ファイル: PromotionItems.cs プロジェクト: GSIL-Monitor/BTP
        /// <summary>
        /// 根据促销ID查询促销商品
        /// </summary>
        /// <param name="promotionID">促销ID</param>
        /// <param name="pageSize">每页显示数量</param>
        /// <param name="pageIndex">当前页</param>
        /// <returns></returns>
        public System.Collections.Generic.IEnumerable <Jinher.AMP.BTP.Deploy.CustomDTO.PromotionItemsVM> GetPromotionItemsByPromotionID(System.Guid promotionID, int pageSize, int pageIndex)
        {
            var quary = from n in PromotionItems.ObjectSet()
                        join m in Promotion.ObjectSet() on n.PromotionId equals m.Id
                        join b in Commodity.ObjectSet() on n.CommodityId equals b.Id
                        where (n.PromotionId == promotionID && b.CommodityType == 0)
                        select new PromotionItemsVM
            {
                AppId            = n.AppId,
                PromotionId      = m.Id,
                CommodityId      = b.Id,
                CommodityName    = b.Name,
                Price            = b.Price,
                Stock            = b.Stock,
                PicturesPath     = b.PicturesPath,
                TotalCollection  = b.TotalCollection,
                TotalReview      = b.TotalReview,
                Salesvolume      = b.Salesvolume,
                State            = b.State,
                Intensity        = m.Intensity,
                No_Codes         = b.No_Code,
                PromotionSubTime = b.SubTime
            };



            var query1 = quary.OrderByDescending(n => n.PromotionSubTime).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();

            foreach (var c in query1)
            {
                c.CommodityCategorys = from cc in CommodityCategory.ObjectSet()
                                       join cate in Category.ObjectSet() on cc.CategoryId equals cate.Id
                                       where cc.CommodityId == c.CommodityId && cc.AppId == c.AppId
                                       select cate.Name;
            }
            return(query1);
        }
コード例 #4
0
ファイル: OrderItem.cs プロジェクト: GSIL-Monitor/BTP
        /// <summary>
        /// 查询订单下商品
        /// </summary>
        /// <param name="commodityOrderId"></param>
        /// <returns></returns>
        public List <OrderItemsVM> SelectOrderItemsByOrderId(Guid commodityOrderId, Guid appId)
        {
            CommodityCategory          cc    = new CommodityCategory();
            IEnumerable <OrderItemsVM> query = from data in OrderItem.ObjectSet()
                                               join data1 in Commodity.ObjectSet() on data.CommodityId equals data1.Id
                                               where (data.CommodityOrderId == commodityOrderId && data1.CommodityType == 0)
                                               select new OrderItemsVM
            {
                CommodityOrderId = data.CommodityOrderId,
                CommodityId      = data.CommodityId,
                CommodityIdName  = data1.Name,
                PicturesPath     = data1.PicturesPath,
                Price            = data.CurrentPrice, //取订单商品列表中的价格
                Number           = data.Number,
                SizeAndColorId   = data.ComAttributeIds,
                //CommodityCategorys = cc.GetCommodityCategory(data1.Id).Select(n => n.Name).ToList(),
            };

            query = query.ToList();
            //遍历查询商品的类别信息  ps:真的要这么做么?
            foreach (var item in query)
            {
                var category = (from data in CommodityCategory.ObjectSet()
                                join data1 in Category.ObjectSet() on data.CategoryId equals data1.Id
                                where data.CommodityId == item.CommodityId && data.AppId == appId
                                select data1.Name).ToList();
                item.CommodityCategorys = category;
            }
            //获取订单商品的一些信息
            List <OrderItemsVM> orderItemsVMList = query.ToList <OrderItemsVM>();

            SecondAttribute secondAttribute = new SecondAttribute();

            Jinher.AMP.BTP.BE.Attribute attribute = new Jinher.AMP.BTP.BE.Attribute();

            //获取app的所有次级属性
            List <SecondAttributeDTO> secondAttributeDTOList = secondAttribute.GetSecondAttributeBySellerID(appId);

            //获取app的所有属性(目前只有颜色和尺寸两种)
            List <Attribute> attributeDTOList = Attribute.ObjectSet().ToList();

            List <OrderItemsVM> orderItemslist = new List <OrderItemsVM>();
            Collection          collect        = new Collection();

            //遍历商品信息,获取每个商品对应的颜色、尺寸属性
            foreach (OrderItemsVM model in orderItemsVMList)
            {
                List <ComAttibuteDTO> comAlist = new List <ComAttibuteDTO>();
                string attributeString         = model.SizeAndColorId;
                if (!string.IsNullOrWhiteSpace(attributeString))
                {
                    string[] attributeStringArray = attributeString.Split(',');
                    for (int i = 0; i < attributeStringArray.Length; i++)
                    {
                        SecondAttributeDTO tempSecondDTO = secondAttributeDTOList.Where(p => p.Id == Guid.Parse(attributeStringArray[i])).FirstOrDefault();
                        if (tempSecondDTO != null)
                        {
                            Attribute      tempDTO = attributeDTOList.Where(p => p.Id == tempSecondDTO.AttributeId).FirstOrDefault();
                            ComAttibuteDTO comA    = new ComAttibuteDTO();
                            comA.AttributeId         = tempDTO.Id;
                            comA.Code                = "1";
                            comA.SubTime             = DateTime.Now;
                            comA.AttributeName       = tempDTO.Name;
                            comA.CommodityId         = model.CommodityId;
                            comA.SecondAttributeName = tempSecondDTO.Name;
                            comA.SecondAttributeId   = tempSecondDTO.Id;
                            comAlist.Add(comA);
                        }
                    }
                }
                model.SelectedComAttibutes = comAlist;
                orderItemslist.Add(model);
            }
            return(orderItemslist);
        }