public async Task <IActionResult> Edit(int id, [Bind("StockId,Name,Max,Min,Current,ArticleForeignKey")] M_Stock stock)
        {
            if (id != stock.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(entity: stock);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!StockExists(id: stock.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(actionName: "Index"));
            }
            ViewData[index : "ArticleForeignKey"] = new SelectList(items : _context.Articles, dataValueField : "ArticleId", dataTextField : "Name", selectedValue : stock.ArticleForeignKey);
            return(View(model: stock));
        }
        public override Id GetArticleId()
        {
            Id      stockId = new Id(((T_StockExchange)_provider).StockId);
            M_Stock stock   = _dbMasterDataCache.M_StockGetById(stockId);

            return(new Id(stock.ArticleForeignKey));
        }
 public static IBehaviour Get(M_Stock stockElement, SimulationType simType)
 {
     switch (simType)
     {
     default:
         return(Default(stockElement: stockElement));
     }
 }
示例#4
0
        public void CreateStorageAgents(M_Stock stock)
        {
            var storage = Agent.Context.ActorOf(props: Storage.Props(actorPaths: Agent.ActorPaths
                                                                     , time: Agent.CurrentTime
                                                                     , debug: Agent.DebugThis
                                                                     , principal: Agent.Context.Self)
                                                , name: ("Storage(" + stock.Name + ")").ToActorName());

            storageManager.AddOrCreateRelation(storage, stock.Article.Name);
            Agent.Send(instruction: BasicInstruction.Initialize.Create(target: storage, message: StorageAgent.Behaviour.Factory.Get(stockElement: stock, simType: SimulationType)));
        }
        public async Task <IActionResult> Create([Bind("StockId,Name,Max,Min,Current,ArticleForeignKey")] M_Stock stock)
        {
            if (ModelState.IsValid)
            {
                _context.Add(entity: stock);
                await _context.SaveChangesAsync();

                return(RedirectToAction(actionName: "Index"));
            }
            ViewData[index : "ArticleForeignKey"] = new SelectList(items : _context.Articles, dataValueField : "ArticleId", dataTextField : "Name", selectedValue : stock.ArticleForeignKey);
            return(View(model: stock));
        }
示例#6
0
        public string Stock_Add()
        {
            int          ProID    = DataConvert.CLng(Request["ProID"]);
            string       action   = DataConverter.CStr(Request.QueryString["action"]);
            M_CommonData storeMod = conBll.SelMyStore_Ex(ref err);

            if (!string.IsNullOrEmpty(err))
            {
                function.WriteErrMsg(err); return("");
            }
            M_Product proMod   = Stock_GetProByID(mu, ProID);
            M_Stock   stockMod = new M_Stock();

            stockMod.proid     = ProID;
            stockMod.proname   = proMod.Proname;
            stockMod.Pronum    = DataConverter.CLng(Request.Form["Pronum"]);
            stockMod.stocktype = DataConverter.CLng(Request.Form["stocktype_rad"]);
            string code = storeMod.GeneralID + DateTime.Now.ToString("yyyyMMddHHmmss");

            stockMod.danju   = (stockMod.stocktype == 0 ? "RK" : "CK") + code;
            stockMod.UserID  = mu.UserID;
            stockMod.adduser = mu.UserName;
            stockMod.StoreID = storeMod.GeneralID;
            if (stockMod.Pronum < 1)
            {
                function.WriteErrMsg("出入库数量不能小于1"); return("");
            }
            switch (stockMod.stocktype)
            {
            case 0:
                proMod.Stock += stockMod.Pronum;
                break;

            case 1:
                proMod.Stock -= stockMod.Pronum;
                if (proMod.Stock < 0)
                {
                    function.WriteErrMsg("出库数量不能大于库存!"); return("");
                }
                break;

            default:
                throw new Exception("出入库操作错误");
            }
            stockBll.insert(stockMod);
            proBll.updateinfo(proMod);
            if (action.Equals("addpro"))
            {
                int num = stockMod.stocktype == 0 ? stockMod.Pronum : -stockMod.Pronum;
                return("<script>parent.addStock(" + num + ");</script>");
            }
            function.WriteSuccessMsg("库存操作成功", "StockList"); return("");
        }
 protected void Button1_Click(object sender, EventArgs e)
 {
     function.Script(this, "console.log('here11');");
     if (this.Page.IsValid)
     {
         M_Stock CData = new M_Stock();
         CData.id    = DataConverter.CLng(stockid.Value);
         CData.proid = DataConverter.CLng(productid.SelectedValue.ToString());
         string temptype = stocktyle.SelectedValue.ToString();
         if (temptype == "RK")
         {
             CData.stocktype = 0;
         }
         else
         {
             CData.stocktype = 1;
         }
         CData.proname = pll.GetproductByid(CData.proid).Proname;
         CData.danju   = stocktyle.Text + this.danjuhaobak.Value;
         // CData.adduser = this.adduser.Text;  //adminname
         CData.adduser = adduser.Text.Trim();
         CData.addtime = DataConverter.CDate(calendars.Text);
         CData.content = stockcontent.Text;
         CData.Pronum  = DataConverter.CLng(Pronum.Text);
         if (Button1.Text == "修改")
         {
             bll.EditStock(CData);
             function.WriteSuccessMsg("单据修改成功!请继续操作", "StockManage.aspx");
         }
         else
         {
             if (CData.stocktype != 0)
             {
                 M_Product proMod = pll.GetproductByid(PID);
                 if (proMod.Stock < CData.Pronum)
                 {
                     function.WriteErrMsg("商品数量不足,出库失败!");
                 }
             }
             bll.AddStock(CData);
             if (action.Equals("addpro"))
             {
                 var setNum = CData.stocktype == 0 ? CData.Pronum : -CData.Pronum;
                 function.Script(this, "parent.addStock(" + setNum + ");");
             }
             else
             {
                 function.WriteSuccessMsg("单据添加成功!请继续添加");
             }
         }
     }
 }
示例#8
0
        public static IBehaviour Get(M_Stock stockElement, SimulationType simType)
        {
            IBehaviour behaviour;

            switch (simType)
            {
            default:
                behaviour = Default(stockElement: stockElement, simType);
                break;
            }

            return(behaviour);
        }
        public void CreateStorageAgents(M_Stock stock)
        {
            var storage = Agent.Context.ActorOf(props: Storage.Props(actorPaths: Agent.ActorPaths
                                                                     , time: Agent.CurrentTime
                                                                     , debug: Agent.DebugThis
                                                                     , principal: Agent.Context.Self)
                                                , name: ("Storage(" + stock.Name + ")").ToActorName());

            var resourceCollection = fRequestResources;

            resourceCollection.Add(item: new FRequestResource(discriminator: stock.Article.Name, resourceType: FResourceType.Storage, actorRef: storage));

            Agent.Send(instruction: BasicInstruction.Initialize.Create(target: storage, message: StorageAgent.Behaviour.Factory.Get(stockElement: stock, simType: SimulationType)));
        }
示例#10
0
        /// <summary>
        /// 插入数据的同时修改商品的库存信息
        /// </summary>
        public bool AddStock(M_Stock model)
        {
            string sqlStrs = "";

            if (model.stocktype == 0)
            {
                sqlStrs = "Update ZL_Commodities set Stock=Stock+" + model.Pronum + " where ID=" + model.proid;
            }
            else
            {
                sqlStrs = "Update ZL_Commodities set Stock=Stock-" + model.Pronum + " where ID=" + model.proid;
            }
            SqlHelper.ExecuteSql(sqlStrs);
            return(insert(model) > 0);
        }
示例#11
0
        public bool AddStock(M_Stock model)
        {
            string sqlStrs = "";

            if (model.stocktype == 0)
            {
                sqlStrs = "Update ZL_Commodities set Stock=Stock+" + model.Pronum + " where ID=" + model.proid;
            }
            else
            {
                sqlStrs = "Update ZL_Commodities set Stock=Stock-" + model.Pronum + " where ID=" + model.proid;
            }
            SqlHelper.ExecuteSql(sqlStrs);
            return(Sql.insertID(TbName, model.GetParameters(), BLLCommon.GetParas(model), BLLCommon.GetFields(model)) > 0);
        }
示例#12
0
        public string Stock_Add()
        {
            M_AdminInfo adminMod = B_Admin.GetLogin();
            int         ProID    = DataConvert.CLng(Request["ProID"]);
            string      action   = DataConverter.CStr(Request.QueryString["action"]);
            M_Product   proMod   = proBll.GetproductByid(ProID);
            M_Stock     stockMod = new M_Stock();

            stockMod.proid     = ProID;
            stockMod.proname   = proMod.Proname;
            stockMod.Pronum    = DataConverter.CLng(Request.Form["Pronum"]);
            stockMod.stocktype = DataConverter.CLng(Request.Form["stocktype_rad"]);
            string code = 0 + DateTime.Now.ToString("yyyyMMddHHmmss");

            stockMod.danju   = (stockMod.stocktype == 0 ? "RK" : "CK") + code;
            stockMod.UserID  = adminMod.AdminId;
            stockMod.adduser = adminMod.AdminName;
            if (stockMod.Pronum < 1)
            {
                function.WriteErrMsg("出入库数量不能小于1"); return("");
            }
            switch (stockMod.stocktype)
            {
            case 0:
                proMod.Stock += stockMod.Pronum;
                break;

            case 1:
                proMod.Stock -= stockMod.Pronum;
                if (proMod.Stock < 0)
                {
                    function.WriteErrMsg("出库数量不能大于库存!"); return("");
                }
                break;

            default:
                throw new Exception("出入库操作错误");
            }
            stockBll.AddStock(stockMod);
            proBll.UpdateByID(proMod);
            if (action.Equals("addpro"))
            {
                int num = stockMod.stocktype == 0 ? stockMod.Pronum : -stockMod.Pronum;
                return("<script>parent.addStock(" + num + ");</script>");
            }
            function.WriteSuccessMsg("库存操作成功", "StockList"); return("");
        }
示例#13
0
        public IActionResult Stock_Add()
        {
            M_Store_Info storeMod = storeBll.SelModelByUser(mu.UserID);
            int          ProID    = DataConvert.CLng(RequestEx["ProID"]);
            string       action   = DataConverter.CStr(RequestEx["action"]);
            M_Product    proMod   = Stock_GetProByID(mu, ProID);
            M_Stock      stockMod = new M_Stock();

            stockMod.proid     = ProID;
            stockMod.proname   = proMod.Proname;
            stockMod.Pronum    = DataConverter.CLng(RequestEx["Pronum"]);
            stockMod.stocktype = DataConverter.CLng(RequestEx["stocktype_rad"]);
            string code = storeMod.ID + DateTime.Now.ToString("yyyyMMddHHmmss");

            stockMod.danju   = (stockMod.stocktype == 0 ? "RK" : "CK") + code;
            stockMod.UserID  = mu.UserID;
            stockMod.adduser = mu.UserName;
            stockMod.StoreID = storeMod.ID;
            if (stockMod.Pronum < 1)
            {
                return(WriteErr("出入库数量不能小于1"));
            }
            switch (stockMod.stocktype)
            {
            case 0:
                proMod.Stock += stockMod.Pronum;
                break;

            case 1:
                proMod.Stock -= stockMod.Pronum;
                if (proMod.Stock < 0)
                {
                    return(WriteErr("出库数量不能大于库存!"));
                }
                break;

            default:
                throw new Exception("出入库操作错误");
            }
            stockBll.AddStock(stockMod);
            proBll.UpdateByID(proMod);
            if (action.Equals("addpro"))
            {
                int num = stockMod.stocktype == 0 ? stockMod.Pronum : -stockMod.Pronum;
            }
            return(WriteOK("库存操作成功", "StockList"));
        }
示例#14
0
        public void fahuo(int id, String Email)
        {
            B_CartPro   cpl = new B_CartPro();
            B_OrderList oll = new B_OrderList();
            B_Product   pll = new B_Product();
            B_Stock     Sll = new B_Stock();

            //历遍清单所有商品数量,查找库存///////////////////
            DataTable   Unew   = cpl.GetCartProOrderID(id); //获得详细清单列表
            M_OrderList orlist = oll.GetOrderListByid(id);

            for (int s = 0; s < Unew.Rows.Count; s++)
            {
                int Onum = ZoomLa.Common.DataConverter.CLng(Unew.Rows[s]["Pronum"]);
                int Opid = ZoomLa.Common.DataConverter.CLng(Unew.Rows[s]["ProID"]);

                M_Product pdin = pll.GetproductByid(Opid);//获得商品信息

                if (pdin.JisuanFs == 0)
                {
                    int pstock = pdin.Stock - Onum;//库存结果,返回的商品数量
                    pll.ProUpStock(Opid, pstock);
                }
                M_Stock SData = new M_Stock();
                SData.id        = 0;
                SData.proid     = Opid;
                SData.stocktype = 1;
                SData.proname   = pdin.Proname;
                SData.danju     = "CK" + orlist.OrderNo.ToString();
                SData.adduser   = orlist.Reuser.ToString();
                SData.addtime   = DateTime.Now;
                SData.content   = "订单:" + orlist.Reuser.ToString() + "发货";
                SData.Pronum    = ZoomLa.Common.DataConverter.CLng(Unew.Rows[0]["Pronum"]);
                Sll.AddStock(SData);
            }

            string str = "StateLogistics=1";

            if (!string.IsNullOrEmpty(Email))
            {
                str += ",ExpressDelivery='" + Email + "'";
            }
            oll.UpOrderinfo(str, id);
            PromotionComfirm(orlist);
        }
示例#15
0
 public static void Init(MasterDBContext context, M_Article[] articles)
 {
     // create Stock Entrys for each Article
     foreach (var article in articles)
     {
         var stock = new M_Stock
         {
             ArticleForeignKey = article.Id,
             Name       = "Stock: " + article.Name,
             Min        = (article.ToPurchase) ? 1000 : 0,
             Max        = (article.ToPurchase) ? 2000 : 0,
             Current    = (article.ToPurchase) ? 1000 : 0,
             StartValue = (article.ToPurchase) ? 1000 : 0,
         };
         context.Stocks.Add(entity: stock);
         context.SaveChanges();
     }
 }
 public Default(M_Stock stockElement, SimulationType simType) : base(simulationType: simType)
 {
     _stockElement = stockElement;
     _stockElement.StockExchanges = new List <T_StockExchange> {
         // Initial Value
         new T_StockExchange
         {
             StockId        = stockElement.Id,
             ExchangeType   = ExchangeType.Insert,
             Quantity       = stockElement.StartValue,
             State          = State.Finished,
             RequiredOnTime = 0,
             Time           = 0
         }
     };
     _stockElement.Current = stockElement.StartValue;
     _providerList         = new StockExchanges();
     _requestedArticles    = new ArticleList();
 }
        public static Demand CreateStockExchangeProductionOrderDemand(M_ArticleBom articleBom, DueTime dueTime)
        {
            IDbMasterDataCache dbMasterDataCache =
                ZppConfiguration.CacheManager.GetMasterDataCache();
            T_StockExchange stockExchange = new T_StockExchange();

            stockExchange.StockExchangeType = StockExchangeType.Demand;
            stockExchange.Quantity          = articleBom.Quantity;
            stockExchange.State             = State.Created;
            M_Stock stock = dbMasterDataCache.M_StockGetByArticleId(new Id(articleBom.ArticleChildId));

            stockExchange.Stock          = stock;
            stockExchange.StockId        = stock.Id;
            stockExchange.RequiredOnTime = dueTime.GetValue();
            stockExchange.ExchangeType   = ExchangeType.Withdrawal;

            StockExchangeDemand stockExchangeDemand =
                new StockExchangeDemand(stockExchange);

            return(stockExchangeDemand);
        }
示例#18
0
        public StockManager(M_Stock stockElement)
        {
            var initalStock = new T_StockExchange
            {
                StockId        = stockElement.Id,
                ExchangeType   = ExchangeType.Insert,
                Quantity       = stockElement.StartValue,
                State          = State.Finished,
                RequiredOnTime = 0,
                Time           = 0
            };

            Stock          = stockElement;
            _providerQueue = new Queue <StockItem>();
            StockExchanges = new List <T_StockExchange> {
                initalStock
            };
            if (stockElement.StartValue > 0)
            {
                AddToStock(initalStock);
            }
        }
示例#19
0
        /**
         * returns a provider, which can be a stockExchangeProvider, if article can be fulfilled by stock, else
         * a productionOrder/purchaseOrderPart
         */
        private Provider CreateStockExchangeProvider(M_Article article, DueTime dueTime,
                                                     Quantity demandedQuantity)
        {
            if (demandedQuantity == null || demandedQuantity.GetValue() == 0)
            {
                throw new MrpRunException("Quantity is not set.");
            }
            M_Stock         stock         = _dbMasterDataCache.M_StockGetByArticleId(article.GetId());
            T_StockExchange stockExchange = new T_StockExchange();

            stockExchange.StockExchangeType = StockExchangeType.Provider;
            stockExchange.Quantity          = demandedQuantity.GetValue(); // TODO: PASCAL .GetValueOrDefault();
            stockExchange.State             = State.Created;

            stockExchange.Stock          = stock;
            stockExchange.StockId        = stock.Id;
            stockExchange.RequiredOnTime = dueTime.GetValue();
            stockExchange.ExchangeType   = ExchangeType.Withdrawal;
            StockExchangeProvider stockExchangeProvider = new StockExchangeProvider(stockExchange);

            return(stockExchangeProvider);
        }
示例#20
0
        //新建商品,添加库存
        private void IsAddStock(M_Product proMod, int proStock)
        {
            if (proStock == 0)
            {
            }
            string  danju    = proMod.UserShopID + DateTime.Now.ToString("yyyyMMddHHmmss");
            M_Stock stockMod = new M_Stock()
            {
                proid   = proMod.ID,
                proname = proMod.Proname,
                adduser = proMod.AddUser,
                StoreID = proMod.UserShopID,
            };

            //int proStock = DataConverter.CLng(Stock.Text);
            stockMod.proid     = proMod.ID;
            stockMod.stocktype = 0;
            stockMod.Pronum    = proStock;
            stockMod.danju     = "RK" + danju;
            stockMod.content   = "添加商品:" + proMod.Proname + "入库";
            stockBll.AddStock(stockMod);
        }
示例#21
0
        internal long CreatePurchase(M_Stock stockElement)
        {
            var time = stockElement.Article
                       .ArticleToBusinessPartners
                       .Single(predicate: x => x.BusinessPartner.Kreditor)
                       .TimeToDelivery;
            var stockExchange = new T_StockExchange
            {
                StockId        = stockElement.Id,
                ExchangeType   = ExchangeType.Insert,
                State          = State.Created,
                Time           = (int)(Agent.CurrentTime),
                Quantity       = stockElement.Article.Stock.Max - stockElement.Article.Stock.Min,
                RequiredOnTime = (int)(Agent.CurrentTime) + time,
                TrackingGuid   = Guid.NewGuid()
            };

            _stockManager.StockExchanges.Add(item: stockExchange);
            // TODO Needs logic if more Kreditors are Added.
            // TODO start CreatePurchase later if materials are needed later
            Agent.Send(instruction: Storage.Instruction.StockRefill.Create(message: stockExchange.TrackingGuid, target: Agent.Context.Self), waitFor: time);

            return(time);
        }
        //发货(disuse)
        private void fahuo(int id, DataTable Unew, M_OrderList orlist)
        {
            for (int s = 0; s < Unew.Rows.Count; s++)
            {
                int Onum = DataConverter.CLng(Unew.Rows[s]["Pronum"]);
                int Opid = DataConverter.CLng(Unew.Rows[s]["ProID"]);

                M_Product pdin = proBll.GetproductByid(Opid);//获得商品信息

                if (pdin.JisuanFs == 0)
                {
                    int pstock = pdin.Stock - Onum;//库存结果,返回的商品数量
                    proBll.ProUpStock(Opid, pstock);
                }
                M_Stock SData = new M_Stock();
                SData.id        = 0;
                SData.proid     = Opid;
                SData.stocktype = 1;
                SData.proname   = pdin.Proname;
                SData.danju     = "CK" + orlist.OrderNo.ToString();
                SData.adduser   = orlist.Reuser.ToString();
                SData.addtime   = DateTime.Now;
                SData.content   = "订单:" + orlist.Reuser.ToString() + "发货";
                SData.Pronum    = DataConverter.CLng(Unew.Rows[0]["Pronum"]);
                Sll.AddStock(SData);
            }

            string str = "StateLogistics=1";

            if (!string.IsNullOrEmpty(txtMS.Text))
            {
                str += ",ExpressDelivery='" + txtMS.Text + "'";
            }
            oll.UpOrderinfo(str, id);
            PromotionComfirm(orlist);
        }
        public static Demand CreateStockExchangeStockDemand(Id articleId, DueTime dueTime, Quantity quantity)
        {
            if (quantity == null || quantity.GetValue() == null)
            {
                throw new MrpRunException("Quantity is not set.");
            }
            IDbMasterDataCache dbMasterDataCache =
                ZppConfiguration.CacheManager.GetMasterDataCache();
            T_StockExchange stockExchange = new T_StockExchange();

            stockExchange.StockExchangeType = StockExchangeType.Demand;
            stockExchange.Quantity          = quantity.GetValue().GetValueOrDefault();
            stockExchange.State             = State.Created;
            M_Stock stock = dbMasterDataCache.M_StockGetByArticleId(articleId);

            stockExchange.Stock          = stock;
            stockExchange.StockId        = stock.Id;
            stockExchange.RequiredOnTime = dueTime.GetValue();
            stockExchange.ExchangeType   = ExchangeType.Insert;
            StockExchangeDemand stockExchangeDemand =
                new StockExchangeDemand(stockExchange);

            return(stockExchangeDemand);
        }
示例#24
0
 public Default(M_Stock stockElement, SimulationType simType) : base(simulationType: simType)
 {
     _stockManager      = new StockManager(stockElement);
     _requestedArticles = new ArticleList();
 }
        public static void DbInitialize(MasterDBContext context)
        {
            context.Database.EnsureCreated();

            // Look for any entries
            if (context.Articles.Any())
            {
                return;   // DB has already been seeded
            }
            // article types
            var articleTypes = CreateArticleTypes();

            context.ArticleTypes.AddRange(entities: articleTypes);
            context.SaveChanges();

            // Units
            var units = CreateUnits();

            context.Units.AddRange(entities: units);
            context.SaveChanges();

            //ResourceSkills
            var resourceSkills = CreateResourceSkills();

            //ResourceTools
            var resourceTools = CreateResourceTools();

            context.ResourceTools.AddRange(entities: resourceTools);
            context.SaveChanges();

            //Resources
            var resources = CreateResources();

            context.Resources.AddRange(entities: resources);
            context.SaveChanges();

            //ResourceSetups
            var resourceSetups = CreateResourceSetups(resources: resources, resourceTools: resourceTools);

            // register resourceSetups at the resourceSkills
            resourceSkills = UpdateResourceSkills(resourceSkills: resourceSkills, resourceSetups: resourceSetups);
            context.ResourceSkills.AddRange(entities: resourceSkills);
            context.ResourceSetups.AddRange(entities: resourceSetups);
            context.SaveChanges();

            // Articles
            var articles = CreateArticles(articleTypes: articleTypes, units: units);

            context.Articles.AddRange(entities: articles);
            context.SaveChanges();

            // create stock entries for each article
            foreach (var article in articles)
            {
                var stock = new M_Stock
                {
                    ArticleForeignKey = article.Id,
                    Name       = "Stock: " + article.Name,
                    Min        = (article.ToPurchase) ? 1000 : 0,
                    Max        = (article.ToPurchase) ? 2000 : 0,
                    Current    = (article.ToPurchase) ? 1000 : 0,
                    StartValue = (article.ToPurchase) ? 1000 : 0,
                };
                context.Stocks.Add(entity: stock);
                context.SaveChanges();
            }

            //Operations
            var operations = CreateOperations(articles: articles, resourceSkills: resourceSkills, resourceTools: resourceTools);

            context.Operations.AddRange(entities: operations);
            context.SaveChanges();

            var articleBom = CreateArticleBoms(articles: articles, operations: operations);

            context.ArticleBoms.AddRange(entities: articleBom);
            context.SaveChanges();


            //create Businesspartner
            var businessPartner = new M_BusinessPartner()
            {
                Debitor = true, Kreditor = false, Name = "Toys'R'us toy department"
            };
            var businessPartner2 = new M_BusinessPartner()
            {
                Debitor = false, Kreditor = true, Name = "Material wholesale"
            };

            context.BusinessPartners.Add(entity: businessPartner);
            context.BusinessPartners.Add(entity: businessPartner2);
            context.SaveChanges();

            var artToBusinessPartner = CreateArticleToBusinessPartners(businessPartner2: businessPartner2, articles: articles);

            context.ArticleToBusinessPartners.AddRange(entities: artToBusinessPartner);
            context.SaveChanges();
        }
        public static void DbInitialize(ProductionDomainContext productionDomainContext)
        {
            productionDomainContext.Database.EnsureCreated();

            // Article Types
            var articleTypes = CreateArticleTypes();

            productionDomainContext.ArticleTypes.AddRange(articleTypes);
            productionDomainContext.SaveChanges();

            // Units
            var units = CreateUnits();

            productionDomainContext.Units.AddRange(units);
            productionDomainContext.SaveChanges();

            // resource skills
            var resourceSkills = CreateResourceSkills();

            productionDomainContext.ResourceSkills.AddRange(resourceSkills);
            productionDomainContext.SaveChanges();

            // resource Tools
            var resourceTools = CreateResourceTools();

            productionDomainContext.ResourceTools.AddRange(resourceTools);
            productionDomainContext.SaveChanges();

            // resources
            var resources = CreateResources(resourceSkills, resourceTools);

            productionDomainContext.Resources.AddRange(resources);
            productionDomainContext.SaveChanges();

            // resource Setups
            var resourceSetups = CreateResourceSetups(resourceTools, resources, resourceSkills);

            productionDomainContext.ResourceSetups.AddRange(resourceSetups);
            productionDomainContext.SaveChanges();


            // Articles
            var articles = CreateArticles(articleTypes, units);

            productionDomainContext.Articles.AddRange(articles);
            productionDomainContext.SaveChanges();

            // get the name -> id mappings
            var dbArticles = productionDomainContext.Articles.ToDictionary(p => p.Name, p => p.Id);

            // create Stock entrys for each Article
            foreach (var article in dbArticles)
            {
                var stocks = new M_Stock[]
                {
                    new M_Stock
                    {
                        ArticleForeignKey = article.Value,
                        Name    = "Stock: " + article.Key,
                        Min     = (article.Key == ARTICLE_SCREWS) ? 50 : 0,
                        Max     = 1000,
                        Current = (article.Key == ARTICLE_SCREWS) ? 100 : 0
                    }
                };
                productionDomainContext.Stocks.AddRange(stocks);
                productionDomainContext.SaveChanges();
            }

            var operations = CreateOperations(resourceTools, articles, resourceSkills);

            productionDomainContext.Operations.AddRange(operations);
            productionDomainContext.SaveChanges();

            var articleBom = CreateArticleBoms(articles, operations);

            productionDomainContext.ArticleBoms.AddRange(articleBom);
            productionDomainContext.SaveChanges();

            var businessPartners = CreateBusinessPartners();

            productionDomainContext.BusinessPartners.AddRange(businessPartners);
            productionDomainContext.SaveChanges();

            var articleToBusinessPartner = CreateArticleToBusinessPartners(articles, businessPartners);

            productionDomainContext.ArticleToBusinessPartners.AddRange(articleToBusinessPartner);
            productionDomainContext.SaveChanges();
        }
 public static CreateStorageAgents Create(M_Stock message, IActorRef target)
 {
     return(new CreateStorageAgents(message: message, target: target));
 }
示例#28
0
 private static IBehaviour Default(M_Stock stockElement, SimulationType simType)
 {
     return(new Default(stockElement: stockElement, simType: simType));
 }
示例#29
0
    //保存
    protected void EBtnSubmit_Click(object sender, EventArgs e)
    {
        #region 团购
        if (Request.Form["ProClass"].Equals("4"))
        {
            if (ColonelStartTimetxt.Text.Trim() == "")
            {
                function.WriteErrMsg("请输入团购开始时间");
            }
            if (ColonelendTimetxt.Text.Trim() == "")
            {
                function.WriteErrMsg("请输入团购结束时间");
            }
            if (txtColoneDeposit.Text.Trim() == "")
            {
                function.WriteErrMsg("请输入团购订金");
            }
        }
        #endregion
        string       adminname = buser.GetLogin().UserName;
        DataTable    dt        = bfield.GetModelFieldList(ModelID);
        DataTable    table     = new Call().GetDTFromPage(dt, Page, ViewState);
        M_CommonData CCate     = new M_CommonData();
        M_Product    proMod    = new M_Product();
        if (ProID > 0)
        {
            proMod = bll.GetproductByid(ProID);
        }
        CCate.Status       = istrue_Chk.Checked ? 99 : 0;
        CCate.NodeID       = NodeID;
        CCate.ModelID      = ModelID;
        CCate.TableName    = bmode.GetModelById(ModelID).TableName;
        CCate.Title        = Proname.Text;
        CCate.Inputer      = adminname;
        CCate.PdfLink      = "";
        CCate.FirstNodeID  = bnode.SelFirstNodeID(NodeID);
        CCate.EliteLevel   = DataConverter.CLng(Dengji.SelectedValue) > 3 ? 1 : 0;
        CCate.InfoID       = "";
        CCate.SpecialID    = "";
        CCate.Template     = ModeTemplate_hid.Value;
        CCate.DefaultSkins = 0;
        /*--------------proMod------------*/
        proMod.Istrue     = 1;
        proMod.Class      = 0;
        proMod.Nodeid     = NodeID;
        proMod.ModelID    = ModelID;
        proMod.Categoryid = DataConverter.CLng(Categoryid.Value);
        proMod.AddUser    = string.IsNullOrEmpty(txtCountHits.Text) ? adminname : txtCountHits.Text;
        if (string.IsNullOrEmpty(proMod.ProCode))
        {
            proMod.ProCode = GetProCode();
        }
        proMod.BarCode      = BarCode.Text.Trim();
        proMod.Proname      = Proname.Text.Trim();
        proMod.Kayword      = Kayword.Text;
        proMod.ProUnit      = ProUnit.Text;
        proMod.AllClickNum  = DataConverter.CLng(Request.Form["AllClickNum"]);
        proMod.Weight       = DataConverter.CLng(Weight.Text);
        proMod.ServerPeriod = DataConverter.CLng(ServerPeriod.Text);
        proMod.ServerType   = DataConverter.CLng(ServerType.SelectedValue);
        proMod.ExpRemind    = Convert.ToInt32(expRemindDP.SelectedValue);
        proMod.ProClass     = DataConverter.CLng(Request.Form["ProClass"]);
        #region 团购
        if (proMod.ProClass == 4)
        {
            if (!string.IsNullOrEmpty(hfBeginTime.Value.Trim()) && !string.IsNullOrEmpty(hfEndTime.Value))
            {
                proMod.ColonelTime = hfBeginTime.Value + "|" + hfEndTime.Value;
            }
            else
            {
                proMod.ColonelTime = ColonelStartTimetxt.Text + "|" + ColonelendTimetxt.Text;
                proMod.Sold        = 0;
            }
        }
        #endregion
        proMod.ColoneDeposit = DataConverter.CDouble(txtColoneDeposit.Text);
        proMod.Properties    = 0;
        proMod.PointVal      = DataConverter.CLng(txtPoint.Text);
        proMod.Sales         = Sales_Chk.Checked ? 1 : 2;
        proMod.Proinfo       = Proinfo.Text;
        proMod.Procontent    = Procontent.Value;
        proMod.Clearimg      = txt_Clearimg.Text;
        proMod.Thumbnails    = txt_Thumbnails.Text;
        proMod.Producer      = Producer.Text;
        proMod.Brand         = Brand.Text;
        proMod.Wholesaleone  = Wholesaleone.Checked ? 1 : 0;
        proMod.Quota         = DataConverter.CLng(Quota.Text);
        proMod.DownQuota     = DataConverter.CLng(DownQuota.Text);
        proMod.Stock         = (DataConverter.CLng(Stock.Text) == 0) ? DataConverter.CLng(Stock.Text) : DataConverter.CLng(Stock.Text);
        proMod.StockDown     = DataConverter.CLng(StockDown.Text);
        proMod.JisuanFs      = DataConverter.CLng(JisuanFs.SelectedValue);
        proMod.Rate          = DataConverter.CDouble(Rate.Text);
        proMod.Rateset       = DataConverter.CLng(Rateset.SelectedValue);
        proMod.Dengji        = DataConverter.CLng(Dengji.SelectedValue);
        proMod.ShiPrice      = DataConverter.CDouble(ShiPrice.Text);
        proMod.LinPrice      = DataConverter.CDouble(LinPrice.Text);
        proMod.LinPrice_Json = JsonHelper.AddVal("purse,sicon,point".Split(','), LinPrice_Purse_T.Text, LinPrice_Sicon_T.Text, LinPrice_Point_T.Text);
        proMod.Preset        = (OtherProject.SelectedValue == null) ? "" : OtherProject.SelectedValue; //促销
        proMod.Integral      = DataConverter.CLng(Integral.Text);
        proMod.Propeid       = DataConverter.CLng(Propeid.Text);
        proMod.Recommend     = DataConverter.CLng(txtRecommend.Text);
        proMod.Recommend     = proMod.Recommend < 1 ? 0 : proMod.Recommend;//不允许负数
        proMod.Largesspirx   = DataConverter.CLng(Largesspirx.Text);
        proMod.AllClickNum   = DataConverter.CLng(txtCountHits.Text);
        proMod.UpdateTime    = DataConverter.CDate(UpdateTime.Text);
        proMod.ModeTemplate  = ModeTemplate_hid.Value;
        proMod.FirstNodeID   = CCate.FirstNodeID;
        proMod.bookDay       = DataConverter.CLng(txtBookDay.Text);
        proMod.BookPrice     = DataConverter.CDouble(txtBookPrice.Text);
        proMod.FestlPrice    = DataConverter.CDouble(txtDayPrice.Text);
        proMod.FestPeriod    = CheckInDate.Text + "|" + CheckOutDate.Text;
        proMod.UserType      = DataConverter.CLng(Request.Form["ctl00$Content$UserPrice_Rad"]);
        proMod.ParentID      = ParentID > 0 ? ParentID : proMod.ParentID;
        proMod.FarePrice     = FareTlp_Rad.SelectedValue;
        if (UserPrice0_Rad.Checked)
        {
            proMod.UserPrice = userPrice.Text;
        }
        else if (UserPrice1_Rad.Checked)
        {
            for (int i = 0; i < repGroup.Items.Count; i++)
            {
                string gid    = (repGroup.Items[i].FindControl("groupID") as HiddenField).Value;
                string gprice = (repGroup.Items[i].FindControl("GroupPrice") as TextBox).Text;
                proMod.UserPrice += gid + "|" + gprice + ",";
            }
        }
        proMod.AddUser     = adminname;
        proMod.DownCar     = 0;
        proMod.ProjectType = DataConverter.CLng(ProjectType.SelectedValue);
        switch (proMod.ProjectType)
        {
            #region 促销
        case 1:
            proMod.ProjectPronum = 0;
            proMod.ProjectMoney  = 0;
            proMod.IntegralNum   = DataConverter.CLng(IntegralNum.Text);
            proMod.PesentNames   = "";
            proMod.PesentNameid  = 0;
            break;

        case 2:
            proMod.ProjectPronum = DataConverter.CLng(ProjectPronum2.Text);
            proMod.ProjectMoney  = 0;
            proMod.IntegralNum   = DataConverter.CLng(IntegralNum.Text);
            proMod.PesentNames   = "";
            proMod.PesentNameid  = 0;
            break;

        case 3:
            proMod.ProjectPronum = DataConverter.CLng(ProjectPronum3.Text);
            proMod.ProjectMoney  = 0;
            proMod.IntegralNum   = DataConverter.CLng(IntegralNum.Text);
            proMod.PesentNames   = Productsname3.Text;
            proMod.PesentNameid  = DataConverter.CLng(HiddenField3.Value);
            break;

        case 4:
            proMod.ProjectPronum = DataConverter.CLng(ProjectPronum4.Text);
            proMod.ProjectMoney  = 0;
            proMod.IntegralNum   = DataConverter.CLng(IntegralNum.Text);
            proMod.PesentNames   = "";
            proMod.PesentNameid  = 0;
            break;

        case 5:
            proMod.ProjectPronum = DataConverter.CLng(ProjectPronum5.Text);
            proMod.ProjectMoney  = 0;
            proMod.IntegralNum   = DataConverter.CLng(IntegralNum.Text);
            proMod.PesentNames   = Productsname5.Text;
            proMod.PesentNameid  = DataConverter.CLng(HiddenField5.Value);
            break;

        case 6:
            proMod.ProjectPronum = 0;
            proMod.ProjectMoney  = DataConverter.CDouble(ProjectMoney6.Text);
            proMod.IntegralNum   = DataConverter.CLng(IntegralNum.Text);
            proMod.PesentNames   = Productsname6.Text;
            proMod.PesentNameid  = DataConverter.CLng(HiddenField6.Value);
            break;

        case 7:
            proMod.ProjectPronum = 0;
            proMod.ProjectMoney  = DataConverter.CDouble(ProjectMoney7.Text);
            proMod.IntegralNum   = DataConverter.CLng(IntegralNum.Text);
            proMod.PesentNames   = Productsname7.Text;
            proMod.PesentNameid  = DataConverter.CLng(HiddenField7.Value);
            break;
            #endregion
        }
        proMod.UpdateTime     = DateTime.Now;
        proMod.TableName      = bmode.GetModelById(ModelID).TableName;
        proMod.Istrue         = istrue_Chk.Checked ? 1 : 0;
        proMod.Isgood         = 0;
        proMod.MakeHtml       = 0;
        proMod.Ishot          = ishot.Checked ? 1 : 0;
        proMod.Isnew          = isnew.Checked ? 1 : 0;
        proMod.Isbest         = isbest.Checked ? 1 : 0;
        proMod.Allowed        = Allowed.Checked ? 1 : 0;
        proMod.GuessXML       = Request.Form["GuessXML"];
        proMod.Wholesalesinfo = ChildPro_Hid.Value;
        //捆绑商品
        if (!string.IsNullOrEmpty(Bind_Hid.Value))
        {
            //获取绑定商品
            DataTable binddt = JsonHelper.JsonToDT(Bind_Hid.Value);
            proMod.BindIDS = "";
            foreach (DataRow dr in binddt.Rows)
            {
                proMod.BindIDS += dr["ID"] + ",";
            }
            proMod.BindIDS = proMod.BindIDS.TrimEnd(',');
        }
        if (ClickType.Value == "update")
        {
            bll.Update(table, proMod, CCate);
            Response.Redirect("ContentShow.aspx?id=" + ProID + "&ModelId=" + ModelID + "&NodeId=" + NodeID);
        }
        else
        {
            if (ClickType.Value.Equals("addasnew"))
            {
                //添加为新商品
                proMod.ProCode = GetProCode();
                proMod.AddTime = DataConverter.CDate(UpdateTime.Text);
            }
            proMod.Priority = 0;
            proMod.Nodeid   = NodeID;
            proMod.UserID   = buser.GetLogin().UserID;
            proMod.ID       = bll.Add(table, proMod, CCate);
            M_Stock SDatac = new M_Stock()
            {
                proid     = proMod.ID,
                stocktype = 0,
                proname   = proMod.Proname,
                adduser   = adminname,
                addtime   = DateTime.Now,
                content   = "添加商品:" + Proname.Text + "入库"
            };
            Sll.AddStock(SDatac);
            Response.Redirect("ContentShow.aspx?id=" + proMod.ID + "&ModelId=" + ModelID + "&NodeId=" + NodeID);
        }
    }
        //保存
        protected void EBtnSubmit_Click(object sender, EventArgs e)
        {
            string       adminname = badmin.GetAdminLogin().AdminName;
            DataTable    dt        = fieldBll.GetModelFieldList(ModelID);
            DataTable    gpdt      = gpBll.GetGroupList();
            DataTable    table     = new Call().GetDTFromPage(dt, Page, ViewState);
            M_CommonData CCate     = new M_CommonData();
            M_Product    proMod    = new M_Product();

            if (ProID > 0)
            {
                proMod = proBll.GetproductByid(ProID);
            }
            CCate.Status       = istrue_chk.Checked ? 99 : 0;
            CCate.NodeID       = NodeID;
            CCate.ModelID      = ModelID;
            CCate.TableName    = modBll.GetModelById(ModelID).TableName;
            CCate.Title        = Proname.Text;
            CCate.Inputer      = adminname;
            CCate.PdfLink      = "";
            CCate.FirstNodeID  = nodeBll.SelFirstNodeID(NodeID);
            CCate.EliteLevel   = DataConverter.CLng(Dengji.SelectedValue) > 3 ? 1 : 0;
            CCate.InfoID       = "";
            CCate.SpecialID    = "";
            CCate.Template     = ModeTemplate_hid.Value;
            CCate.DefaultSkins = 0;
            /*--------------proMod------------*/
            proMod.Class      = 0;
            proMod.Nodeid     = NodeID;
            proMod.ModelID    = ModelID;
            proMod.Properties = 0;
            proMod.Isgood     = 0;
            proMod.MakeHtml   = 0;
            proMod.AddUser    = adminname;
            if (string.IsNullOrEmpty(proMod.ProCode))
            {
                proMod.ProCode = B_Product.GetProCode();
            }
            proMod.BarCode = BarCode.Text.Trim();
            proMod.Proname = Proname.Text.Trim();
            proMod.Kayword = Request.Form["tabinput"];
            keyBll.AddKeyWord(proMod.Kayword, 1);
            proMod.ProUnit     = ProUnit.Text;
            proMod.AllClickNum = DataConverter.CLng(Request.Form["AllClickNum"]);
            proMod.Weight      = DataConverter.CLng(Weight.Text);
            proMod.ProClass    = DataConverter.CLng(ProClass_Hid.Value);
            proMod.IDCPrice    = IDC_Hid.Value;
            proMod.PointVal    = DataConverter.CLng(PointVal_T.Text);
            proMod.Proinfo     = Proinfo.Text;
            proMod.Procontent  = procontent.Value;
            proMod.Clearimg    = txt_Clearimg.Text;
            proMod.Thumbnails  = txt_Thumbnails.Text;
            proMod.Producer    = Producer.Text;
            proMod.Brand       = Brand.Text;
            //proMod.Quota = DataConverter.CLng(Quota.Text);
            //proMod.DownQuota = DataConverter.CLng(DownQuota.Text);
            proMod.StockDown     = DataConverter.CLng(StockDown.Text);
            proMod.JisuanFs      = DataConverter.CLng(Request.Form["JisuanFs"]);
            proMod.Rate          = DataConverter.CDouble(Rate.Text);
            proMod.Rateset       = DataConverter.CLng(Rateset.SelectedValue);
            proMod.Dengji        = DataConverter.CLng(Dengji.SelectedValue);
            proMod.ShiPrice      = DataConverter.CDouble(ShiPrice.Text);
            proMod.LinPrice      = DataConverter.CDouble(LinPrice.Text);
            proMod.LinPrice_Json = JsonHelper.AddVal("purse,sicon,point".Split(','), LinPrice_Purse_T.Text, LinPrice_Sicon_T.Text, LinPrice_Point_T.Text);
            proMod.Preset        = (OtherProject.SelectedValue == null) ? "" : OtherProject.SelectedValue; //促销
            //proMod.Integral = DataConverter.CLng(Integral.Text);
            proMod.Propeid   = DataConverter.CLng(Propeid.Text);
            proMod.Recommend = DataConverter.CLng(Recommend_T.Text);
            proMod.Recommend = proMod.Recommend < 1 ? 0 : proMod.Recommend;//不允许负数
            //proMod.Largesspirx = DataConverter.CLng(Largesspirx.Text);
            proMod.Largess     = Largess.Checked?1:0;
            proMod.AllClickNum = DataConverter.CLng(AllClickNum_T.Text);
            //更新时间,若没有指定则为当前时间
            proMod.UpdateTime   = DataConverter.CDate(UpdateTime.Text);
            proMod.AddTime      = DataConverter.CDate(AddTime.Text);
            proMod.ModeTemplate = ModeTemplate_hid.Value;
            proMod.FirstNodeID  = CCate.FirstNodeID;
            proMod.bookDay      = DataConverter.CLng(BookDay_T.Text);
            proMod.BookPrice    = DataConverter.CDouble(BookPrice_T.Text);
            proMod.FarePrice    = FareTlp_Rad.SelectedValue;
            proMod.UserType     = DataConverter.CLng(Request.Form["UserPrice_Rad"]);
            proMod.Quota        = DataConvert.CLng(Request.Form["Quota_Rad"]);
            proMod.DownQuota    = DataConvert.CLng(Request.Form["DownQuota_Rad"]);
            switch (proMod.UserType)
            {
            case 1:
                proMod.UserPrice = Price_Member_T.Text.Trim();
                break;

            case 2:
                proMod.UserPrice = Request.Form["Price_Group_Hid"];
                break;
            }
            switch (proMod.Quota)
            {
            case 0:
                break;

            case 2:
                proMod.Quota_Json = Request.Form["Quota_Group_Hid"];
                break;
            }
            switch (proMod.DownQuota)
            {
            case 0:
                break;

            case 2:
                proMod.DownQuota_Json = Request.Form["DownQuota_Group_Hid"];
                break;
            }
            int ProjectTypeRad = 0;

            if (ProjectType2_Rad.Checked)
            {
                ProjectTypeRad = 2;
            }
            if (ProjectType3_Rad.Checked)
            {
                ProjectTypeRad = 3;
            }
            if (ProjectType4_Rad.Checked)
            {
                ProjectTypeRad = 4;
            }
            if (ProjectType5_Rad.Checked)
            {
                ProjectTypeRad = 5;
            }
            if (ProjectType6_Rad.Checked)
            {
                ProjectTypeRad = 6;
            }
            if (ProjectType7_Rad.Checked)
            {
                ProjectTypeRad = 7;
            }
            proMod.ProjectType = ProjectTypeRad;
            switch (proMod.ProjectType)
            {
                #region 促销
            case 1:
                proMod.ProjectPronum = 0;
                proMod.ProjectMoney  = 0;
                //proMod.IntegralNum = DataConverter.CLng(IntegralNum.Text);
                proMod.PesentNames  = "";
                proMod.PesentNameid = 0;
                break;

            case 2:
                proMod.ProjectPronum = DataConverter.CLng(ProjectPronum2.Text);
                proMod.ProjectMoney  = 0;
                //proMod.IntegralNum = DataConverter.CLng(IntegralNum.Text);
                proMod.PesentNames  = "";
                proMod.PesentNameid = 0;
                break;

            case 3:
                proMod.ProjectPronum = DataConverter.CLng(ProjectPronum3.Text);
                proMod.ProjectMoney  = 0;
                //proMod.IntegralNum = DataConverter.CLng(IntegralNum.Text);
                proMod.PesentNames  = Productsname3.Text;
                proMod.PesentNameid = DataConverter.CLng(HiddenField3.Value);
                break;

            case 4:
                proMod.ProjectPronum = DataConverter.CLng(ProjectPronum4.Text);
                proMod.ProjectMoney  = 0;
                //proMod.IntegralNum = DataConverter.CLng(IntegralNum.Text);
                proMod.PesentNames  = "";
                proMod.PesentNameid = 0;
                break;

            case 5:
                proMod.ProjectPronum = DataConverter.CLng(ProjectPronum5.Text);
                proMod.ProjectMoney  = 0;
                //proMod.IntegralNum = DataConverter.CLng(IntegralNum.Text);
                proMod.PesentNames  = Productsname5.Text;
                proMod.PesentNameid = DataConverter.CLng(HiddenField5.Value);
                break;

            case 6:
                proMod.ProjectPronum = 0;
                proMod.ProjectMoney  = DataConverter.CDouble(ProjectMoney6.Text);
                //proMod.IntegralNum = DataConverter.CLng(IntegralNum.Text);
                proMod.PesentNames  = Productsname6.Text;
                proMod.PesentNameid = DataConverter.CLng(HiddenField6.Value);
                break;

            case 7:
                proMod.ProjectPronum = 0;
                proMod.ProjectMoney  = DataConverter.CDouble(ProjectMoney7.Text);
                //proMod.IntegralNum = DataConverter.CLng(IntegralNum.Text);
                proMod.PesentNames  = Productsname7.Text;
                proMod.PesentNameid = DataConverter.CLng(HiddenField7.Value);
                break;
                #endregion
            }
            proMod.TableName      = modBll.GetModelById(ModelID).TableName;
            proMod.Sales          = Sales_Chk.Checked ? 1 : 2;
            proMod.Istrue         = istrue_chk.Checked ? 1 : 0;
            proMod.Ishot          = ishot_chk.Checked ? 1 : 0;
            proMod.Isnew          = isnew_chk.Checked ? 1 : 0;
            proMod.Isbest         = isbest_chk.Checked ? 1 : 0;
            proMod.Allowed        = Allowed.Checked ? 1 : 0;
            proMod.GuessXML       = Request.Form["GuessXML"];
            proMod.Wholesalesinfo = ChildPro_Hid.Value;
            proMod.DownCar        = DataConvert.CLng(DownCar_T.Text);
            //捆绑商品
            if (!string.IsNullOrEmpty(Bind_Hid.Value))
            {
                //获取绑定商品
                DataTable binddt = JsonHelper.JsonToDT(Bind_Hid.Value);
                proMod.BindIDS = "";
                foreach (DataRow dr in binddt.Rows)
                {
                    proMod.BindIDS += dr["ID"] + ",";
                }
                proMod.BindIDS = proMod.BindIDS.TrimEnd(',');
            }
            else
            {
                proMod.BindIDS = "";
            }
            string danju = proMod.UserShopID + DateTime.Now.ToString("yyyyMMddHHmmss");
            if (proMod.ID < 1 || ClickType.Value.Equals("addasnew"))
            {
                proMod.Priority   = 0;
                proMod.Nodeid     = NodeID;
                proMod.AddTime    = DateTime.Now;
                proMod.UpdateTime = DateTime.Now;
                proMod.ID         = proBll.Add(table, proMod, CCate);
                proMod.Stock      = DataConverter.CLng(Stock.Text);
                //多区域价格
                SqlParameter[] sp = new SqlParameter[] { new SqlParameter("guid", ProGuid) };
                SqlHelper.ExecuteSql("UPDATE ZL_Shop_RegionPrice SET [ProID]=" + proMod.ID + " WHERE [Guid]=@guid", sp);
                M_Stock stockMod = new M_Stock()
                {
                    proid   = proMod.ID,
                    proname = proMod.Proname,
                    adduser = adminname,
                    StoreID = proMod.UserShopID,
                };
                int proStock = DataConverter.CLng(Stock.Text);
                if (proStock > 0)
                {
                    stockMod.proid     = proMod.ID;
                    stockMod.stocktype = 0;
                    stockMod.Pronum    = proStock;
                    stockMod.danju     = "RK" + danju;
                    stockMod.content   = "添加商品:" + proMod.Proname + "入库";
                    stockBll.AddStock(stockMod);
                }
                Response.Redirect("ContentShow.aspx?id=" + proMod.ID + "&ModelId=" + proMod.ModelID + "&NodeId=" + proMod.Nodeid);
            }
            else
            {
                proBll.Update(table, proMod, CCate);
                //int stock = proStock - DataConverter.CLng(Stock_Hid.Value);
                //if (stock != 0)
                //{
                //    stockMod.stocktype = stock > 0 ? 0 : 1;
                //    stockMod.Pronum = Math.Abs(stock);
                //    stockMod.danju = (stockMod.stocktype > 0 ? "RK" : "CK") + danju;
                //    stockMod.content = stockMod.stocktype > 0 ? "添加商品:" + proMod.Proname + "入库" : "减少商品:" + proMod.Proname + "出库";
                //    stockBll.AddStock(stockMod);
                //}
                Response.Redirect("ContentShow.aspx?id=" + proMod.ID + "&ModelId=" + proMod.ModelID + "&NodeId=" + proMod.Nodeid);
            }
        }