示例#1
0
 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);
     }
 }
示例#2
0
        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));
        }