Esempio n. 1
0
        protected override EmptyResponseData ProcessRequest(APIRequest <SetSuperRetailTraderItemRP> pRequest)
        {
            SetSuperRetailTraderItemRP rp = pRequest.Parameters;

            var superRetailTraderItemMappingBll = new T_SuperRetailTraderItemMappingBLL(CurrentUserInfo);
            var superRetailTraderSkuMappingBll  = new T_SuperRetailTraderSkuMappingBLL(CurrentUserInfo);

            List <ItemIdInfo> ItemIdList = rp.ItemIdList.GroupBy(n => new{ n.ItemId }).Select(n => new ItemIdInfo()
            {
                ItemId = n.Key.ItemId
            }).ToList();

            List <ItemIdInfo> SkuIdList = rp.ItemIdList.Select(n => new ItemIdInfo()
            {
                ItemId = n.ItemId, SkuId = n.SkuId
            }).ToList();

            //初始化分销商商品信息
            foreach (var item in ItemIdList)
            {
                var itemEntity = superRetailTraderItemMappingBll.QueryByEntity(new T_SuperRetailTraderItemMappingEntity {
                    ItemId = item.ItemId
                }, null).FirstOrDefault();
                if (itemEntity == null)
                {
                    T_SuperRetailTraderItemMappingEntity superRetailTraderItemMappingEntity = new T_SuperRetailTraderItemMappingEntity()
                    {
                        SuperRetailTraderItemMappingId = Guid.NewGuid(),
                        ItemId               = item.ItemId,
                        DistributerStock     = 0,
                        SalesQty             = 0,
                        DistributerCostPrice = 0,
                        DistributerPrice     = 0,
                        Status               = 90,
                        OnShelfDatetime      = DateTime.Now,
                        CustomerID           = CurrentUserInfo.ClientID
                    };
                    superRetailTraderItemMappingBll.Create(superRetailTraderItemMappingEntity);
                    itemEntity = superRetailTraderItemMappingEntity;
                }
                //初始化分销商Sku信息
                foreach (var sku in SkuIdList.Where(n => n.ItemId == item.ItemId))
                {
                    var SkuEntity = superRetailTraderSkuMappingBll.QueryByEntity(new T_SuperRetailTraderSkuMappingEntity {
                        SkuId = sku.SkuId
                    }, null);
                    if (SkuEntity.Count() == 0)
                    {
                        T_SuperRetailTraderSkuMappingEntity superRetailTraderSkuMappingEntity = new T_SuperRetailTraderSkuMappingEntity()
                        {
                            Id = Guid.NewGuid(),
                            SuperRetailTraderItemMappingId = itemEntity.SuperRetailTraderItemMappingId,
                            ItemId               = item.ItemId,
                            SkuId                = sku.SkuId,
                            DistributerStock     = 0,
                            SalesQty             = 0,
                            DistributerCostPrice = 0,
                            Status               = 90,
                            OnShelfDatetime      = DateTime.Now,
                            CustomerID           = CurrentUserInfo.ClientID
                        };
                        superRetailTraderSkuMappingBll.Create(superRetailTraderSkuMappingEntity);
                    }
                }
            }
            return(new EmptyResponseData());
        }
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
 public void Update(T_SuperRetailTraderSkuMappingEntity pEntity, IDbTransaction pTran)
 {
     _currentDAO.Update(pEntity, pTran);
 }
 /// <summary>
 /// 创建一个新实例
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Create(T_SuperRetailTraderSkuMappingEntity pEntity)
 {
     _currentDAO.Create(pEntity);
 }
 /// <summary>
 /// 分页根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public PagedQueryResult <T_SuperRetailTraderSkuMappingEntity> PagedQueryByEntity(T_SuperRetailTraderSkuMappingEntity pQueryEntity, OrderBy[] pOrderBys, int pPageSize, int pCurrentPageIndex)
 {
     return(_currentDAO.PagedQueryByEntity(pQueryEntity, pOrderBys, pPageSize, pCurrentPageIndex));
 }
 /// <summary>
 /// 根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public T_SuperRetailTraderSkuMappingEntity[] QueryByEntity(T_SuperRetailTraderSkuMappingEntity pQueryEntity, OrderBy[] pOrderBys)
 {
     return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys));
 }
        protected override EmptyResponseData ProcessRequest(APIRequest <SetSuperRetailTraderItemInfoRP> pRequest)
        {
            SetSuperRetailTraderItemInfoRP rp = pRequest.Parameters;
            EmptyResponseData rd = new EmptyResponseData();

            var superRetailTraderItemMappingBll = new T_SuperRetailTraderItemMappingBLL(CurrentUserInfo);
            var superRetailTraderSkuMappingBll  = new T_SuperRetailTraderSkuMappingBLL(CurrentUserInfo);

            List <SuperRetailTraderItem> ItemIdList = rp.ItemList.GroupBy(n => new { n.ItemId }).Select(n => new SuperRetailTraderItem()
            {
                ItemId               = n.Key.ItemId,
                DistributerStock     = n.Sum(t => t.DistributerStock),
                DistributerCostPrice = n.Min(t => t.DistributerCostPrice)
            }).ToList();
            List <SuperRetailTraderItem> SkuIdList = rp.ItemList.Select(n => n).ToList();

            //修改商品成本价和库存
            foreach (var item in ItemIdList)
            {
                //获取商品信息
                var entity = superRetailTraderItemMappingBll.QueryByEntity(new T_SuperRetailTraderItemMappingEntity()
                {
                    ItemId = item.ItemId, CustomerID = CurrentUserInfo.ClientID
                }, null).FirstOrDefault();
                if (entity != null)
                {
                    if (entity.DistributerStock == 0 && entity.DistributerCostPrice == 0) //如果是初始化数据,直接修改
                    {
                        entity.DistributerStock     = item.DistributerStock;
                        entity.DistributerCostPrice = item.DistributerCostPrice;
                        superRetailTraderItemMappingBll.Update(entity);
                    }
                    else //如果是非初始化数据,创建新的,删除旧的
                    {
                        T_SuperRetailTraderItemMappingEntity newEntity = new T_SuperRetailTraderItemMappingEntity()
                        {
                            SuperRetailTraderItemMappingId = Guid.NewGuid(),
                            ItemId               = item.ItemId,
                            DistributerStock     = item.DistributerStock + entity.SalesQty,
                            SalesQty             = entity.SalesQty,
                            DistributerCostPrice = item.DistributerCostPrice,
                            DistributerPrice     = entity.DistributerPrice,
                            Status               = entity.Status,
                            OnShelfDatetime      = entity.OnShelfDatetime,
                            OffShelfDatetime     = entity.OffShelfDatetime,
                            CustomerID           = CurrentUserInfo.ClientID
                        };
                        superRetailTraderItemMappingBll.Delete(entity);
                        superRetailTraderItemMappingBll.Create(newEntity);
                    }
                }
            }
            //修改Sku成本价和库存
            foreach (var sku in SkuIdList)
            {
                var entity = superRetailTraderSkuMappingBll.QueryByEntity(new T_SuperRetailTraderSkuMappingEntity()
                {
                    SkuId = sku.SkuId, ItemId = sku.ItemId, CustomerID = CurrentUserInfo.ClientID
                }, null).FirstOrDefault();
                if (entity != null)
                {
                    if (entity.DistributerStock == 0 && entity.DistributerCostPrice == 0) //如果是初始化数据,直接修改
                    {
                        entity.DistributerStock     = sku.DistributerStock;
                        entity.DistributerCostPrice = sku.DistributerCostPrice;
                        superRetailTraderSkuMappingBll.Update(entity);
                    }
                    else //如果是非初始化数据,创建新的,删除旧的
                    {
                        T_SuperRetailTraderSkuMappingEntity newEntity = new T_SuperRetailTraderSkuMappingEntity()
                        {
                            SuperRetailTraderItemMappingId = entity.SuperRetailTraderItemMappingId,
                            ItemId               = entity.ItemId,
                            SkuId                = entity.SkuId,
                            DistributerStock     = sku.DistributerStock + entity.SalesQty,
                            SalesQty             = entity.SalesQty,
                            DistributerCostPrice = sku.DistributerCostPrice,
                            RefId                = entity.SuperRetailTraderItemMappingId,
                            Status               = entity.Status,
                            OnShelfDatetime      = entity.OnShelfDatetime,
                            OffShelfDatetime     = entity.OffShelfDatetime,
                            CustomerID           = CurrentUserInfo.ClientID
                        };
                        superRetailTraderSkuMappingBll.Delete(entity);
                        superRetailTraderSkuMappingBll.Create(newEntity);
                    }
                }
            }

            return(rd);
        }