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)); } }
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)); }
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("单据添加成功!请继续添加"); } } } }
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))); }
/// <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); }
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); }
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(""); }
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")); }
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); }
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); }
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); } }
/** * 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); }
//新建商品,添加库存 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); }
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); }
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)); }
private static IBehaviour Default(M_Stock stockElement, SimulationType simType) { return(new Default(stockElement: stockElement, simType: simType)); }
//保存 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); } }