Esempio n. 1
0
        static void UpdateNextProcess(ProductProcess ProductProcess, int Accepted, WebApplication5Context db)
        {
            ProductProcess NextProductProcess = db.ProductProcesses.FirstOrDefault(q => q.Product.Code == ProductProcess.Product.Code && q.Order == ProductProcess.Order + 1);

            if (NextProductProcess != null)
            {
                //gets the next productprocess
                Wip nextw = db.Wips.FirstOrDefault <Wip>(e => e.ProductProcess.ID == NextProductProcess.ID);
                if (nextw == null)
                {
                    nextw = new Wip();
                    nextw.ProductProcess = NextProductProcess;
                    nextw.Input          = Accepted;
                    nextw.UpdatedAt      = DateTime.Now;
                    db.Wips.Add(nextw);
                }
                else
                {
                    db.Entry(nextw).State = EntityState.Modified;
                    nextw.UpdatedAt       = DateTime.Now;
                    //adds the previous accepter quantity
                    nextw.Input = nextw.Input + Accepted;
                }
            }
        }
Esempio n. 2
0
        public static void Calculate(ProductProcess ProductProcess, int Produced, int Rejected, WebApplication5Context db)
        {
            Wip w = db.Wips.FirstOrDefault <Wip>(q => q.ProductProcess.ID == ProductProcess.ID);

            if (w == null)
            {
                w = new Wip();

                w.ProductProcess = ProductProcess;
                w.Input          = Produced;
                w.Accepted       = Produced - Rejected;
                w.Rejected       = Rejected;
                w.UpdatedAt      = DateTime.Now;
                db.Wips.Add(w);
                UpdateNextProcess(ProductProcess, w.Accepted, db);
            }
            else
            {
                db.Entry(w).State = EntityState.Modified;
                w.ProductProcess  = ProductProcess;
                if (Produced <= w.Input)
                {
                    w.Input     = w.Input - Produced;
                    w.Accepted  = Produced - Rejected;
                    w.Rejected  = Rejected;
                    w.UpdatedAt = DateTime.Now;
                    UpdateNextProcess(ProductProcess, w.Accepted, db);
                }
            }
        }