示例#1
0
        public ActionResult EditProsesKonsolidasi(SalesOrderProsesKonsolidasi model, string btnsave)
        {
            //validasi manual
            bool palid = true;

            if (btnsave != "draft")
            {
                if (!model.IdDataTruck.HasValue)
                {
                    ModelState.AddModelError("IdDataTruck", "Truk harus diisi.");
                    palid = false;
                }
                if (!model.Driver1Id.HasValue || model.Driver1Id.Value == 0)
                {
                    ModelState.AddModelError("Driver1Id", "Driver harus diisi.");
                    palid = false;
                }
                Context.Driver                 item = RepoDriver.FindAll().Where(d => d.Id == model.Driver1Id.Value).FirstOrDefault();
                List <Context.SalesOrder>      dbso = RepoSalesOrder.FindAll().ToList();
                List <Context.SettlementBatal> dbsb = RepoSettlementBatal.FindAll().Where(s => s.IsProses == false).ToList();
                Driver driver = new Driver(item, dbso, dbsb);
                if (driver.StatusSo != "Available")
                {
                    ModelState.AddModelError("Driver1Id", "Driver tidak tersedia, harap pilih driver lain.");
                    palid = false;
                }
            }
            if (model.Status == "draft")
            {
                if (model.CommentUser == "" || model.CommentUser == null)
                {
                    ModelState.AddModelError("CommentUser", "Comment harus diisi.");
                    palid = false;
                }
            }
            Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(model.SalesOrderId.Value);
            if (palid)
            {
                dbitem.isReturn = false;
                string act = "";
                if (btnsave != null && btnsave != "")
                {
                    act           = "Draft";
                    dbitem.Status = btnsave;
                }
                else
                {
                    if (model.Status.ToLower() == "save")
                    {
                        act             = "Return";
                        dbitem.isReturn = true;
                    }
                    else
                    {
                        act             = "Submit";
                        dbitem.isReturn = false;
                    }

                    dbitem.Status = model.Status;
                }

                model.setDbOperasional(dbitem.SalesOrderProsesKonsolidasi, act, "Operational");
                RepoSalesOrder.save(dbitem);
                RepoAuditrail.saveUpdSalesOrderProsesKonsolidasiQuery(dbitem.SalesOrderProsesKonsolidasi, UserPrincipal.id);
                RepoAuditrail.saveSalesOrderProsesKonsolidasiCommentQuery(dbitem.SalesOrderProsesKonsolidasi, UserPrincipal.id);
                return(RedirectToAction("Index"));
            }
            else
            {
                ViewBag.kondisi  = "planning";
                ViewBag.name     = model.SONumber;
                ViewBag.Title    = "Planning Sales Order Proses Konsolidasi " + model.SONumber;
                ViewBag.PostData = "EditProsesKonsolidasi";
                SalesOrderProsesKonsolidasi modelsopk = new SalesOrderProsesKonsolidasi(dbitem);
                ViewBag.StrListSo = modelsopk.StrListSo;
                return(View("SalesOrderProsesKonsolidasi/FormReadOnly", model));
            }
        }
        public ActionResult EditKonsolidasi(SalesOrderProsesKonsolidasi model, string btnsave)
        {
            //validasi manual
            bool palid = true;

            if (btnsave != "draft planning")
            {
                if (!model.IdDataTruck.HasValue)
                {
                    ModelState.AddModelError("IdDataTruck", "Truk harus diisi.");
                    palid = false;
                }
                if (!model.Driver1Id.HasValue)
                {
                    ModelState.AddModelError("Driver1Id", "Driver harus diisi.");
                    palid = false;
                }
            }
            if (!model.AtmId.HasValue || model.AtmId.Value == 0)
            {
                ModelState.AddModelError("AtmId", "Rekening harus diisi.");
                palid = false;
            }
            if (palid)
            {
                Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(model.SalesOrderId.Value);
                string             act    = "";
                if (btnsave != null && btnsave != "")
                {
                    act           = "Draft";
                    dbitem.Status = btnsave;
                }
                else
                {
                    if (model.Status.ToLower() == "save")
                    {
                        act             = "Return";
                        dbitem.isReturn = true;
                    }
                    else
                    {
                        dbitem.isReturn = false;
                        act             = "Submit";
                    }

                    dbitem.Status = model.Status;
                }

                model.setDbOperasional(dbitem.SalesOrderProsesKonsolidasi, act, "Operational");
                RepoSalesOrder.save(dbitem);
                RepoAuditrail.saveUpdSalesOrderProsesKonsolidasiQuery(dbitem.SalesOrderProsesKonsolidasi, UserPrincipal.id);
                RepoAuditrail.saveSalesOrderProsesKonsolidasiCommentQuery(dbitem.SalesOrderProsesKonsolidasi, UserPrincipal.id);
                return(RedirectToAction("Index"));
            }
            else
            {
                ViewBag.kondisi  = "konfirmasi";
                ViewBag.name     = model.SONumber;
                ViewBag.Title    = "Konfirmsai Sales Order Oncall " + model.SONumber;
                ViewBag.PostData = "EditKonsolidasi";
                return(View("SalesOrderProsesKonsolidasi/FormReadOnly", model));
            }
        }