private DateTime getDate0(Models.p41CreateViewModel v) { if (v.Date0 == null) { //return DateTime.Now; return(new DateTime(2000, 1, 1)); //rok 2000 znamená výchozí datum, které se má v simulaci změnit dle kapacitního fondu stroje } else { return(v.Date0.Value); } }
public IActionResult Create(Models.p41CreateViewModel v, string rec_oper, int p27id) { if (rec_oper == "p51id_change") { v.p52ID = 0; v.p52Code = ""; } if (v.p51ID > 0) { v.RecP51 = Factory.p51OrderBL.Load(v.p51ID); } if (v.p52ID > 0) { v.RecP52 = Factory.p52OrderItemBL.Load(v.p52ID); v.RecP51 = Factory.p51OrderBL.Load(v.RecP52.p51ID); } if (rec_oper == "simulation_p51") { if (v.p51ID == 0) { Factory.CurrentUser.AddMessage("Musíte vybrat objednávku."); } else { var simul = new UI.TaskSimulation(Factory); simul.Date0 = getDate0(v); v.Tasks = simul.getTasksByP51(v.p51ID); } } if (rec_oper == "simulation_p52") { if (v.p52ID == 0) { Factory.CurrentUser.AddMessage("Musíte vybrat položku objednávky."); } else { var simul = new UI.TaskSimulation(Factory); simul.Date0 = getDate0(v); v.Tasks = simul.getTasksByP52(v.p52ID, v.p27ID); } } if (rec_oper == "simulation_p52ids") { var simul = new UI.TaskSimulation(Factory); simul.Date0 = getDate0(v); v.Tasks = simul.getTasksByP52IDs(BO.BAS.ConvertString2ListInt(v.SelectedP52IDs)); } if (rec_oper == "newitem") { if (v.Tasks == null) { v.Tasks = new List <BO.p41Task>(); } var c = new BO.p41Task(); if (v.Tasks.Where(p => p.p41PlanEnd != null).Count() > 0) { c.p41PlanStart = v.Tasks.Where(p => p.p41PlanEnd != null).Last().p41PlanEnd; } else { c.p41PlanStart = DateTime.Now.AddHours(1); } c.p41Duration = 60; if (p27id > 0) { c.p27ID = p27id; c.p27Name = Factory.p27MszUnitBL.Load(p27id).p27Name; } if (v.RecP52 != null) { c.p52ID = v.RecP52.pid; c.p52Code = v.RecP52.p52Code; //c.p41Name = v.RecP52.p11Name + " [" + v.RecP52.p11Code + "]"; } v.Tasks.Add(c); return(View(v)); } if (rec_oper == "clear") { v.Tasks = new List <BO.p41Task>(); } if (rec_oper == "delete") { //došlo k virtuálnímu odstranění řádku zakázky - pouze postback } if (rec_oper == "postback") //pouze postback { } if (v.Tasks == null) { v.Tasks = new List <BO.p41Task>(); } if (ModelState.IsValid) { if (rec_oper == "save") { int x = Factory.p41TaskBL.SaveBatch(v.Tasks.Where(p => p.IsTempDeleted == false).ToList()); if (x > 0) { v.SetJavascript_CallOnLoad(0, "p41"); return(View(v)); } } } if (v.RecP52 != null) { BO.p11ClientProduct cP11 = Factory.p11ClientProductBL.Load(v.RecP52.p11ID); if (cP11.p10ID_Master > 0) { v.p25ID = Factory.p10MasterProductBL.Load(cP11.p10ID_Master).p25ID; //z RecP10 se bere typ zařízení pro combo nabídku zařízení } else { if (cP11.p12ID > 0) { v.p25ID = Factory.p12ClientTpvBL.Load(cP11.p12ID).p25ID; //vlastní klientská receptura } } var mq = new BO.myQuery("p27MszUnit"); mq.p25id = v.p25ID; v.lisP27 = Factory.p27MszUnitBL.GetList(mq).ToList(); } return(View(v)); }