Пример #1
0
        public ActionResult Add(SalesOrderProsesKonsolidasi model, string btnsave)
        {
            //cek validasi so
            List <string> MsgError = new List <string>();

            //if (model.IdJnsTruck.HasValue)
            //{
            //    if (model.StrListSo != null && model.StrListSo != "")
            //    {
            //        foreach (string item in model.StrListSo.Split(','))
            //        {
            //            IsValidSo(int.Parse(item), model.IdJnsTruck.Value, MsgError);
            //        }
            //    }
            //}

            SalesOrderLoadUnload[] resultLoad = JsonConvert.DeserializeObject <SalesOrderLoadUnload[]>(model.StrLoad);
            model.ListLoad = resultLoad.ToList();
            SalesOrderLoadUnload[] resultUnload = JsonConvert.DeserializeObject <SalesOrderLoadUnload[]>(model.StrUnload);
            model.ListUnload = resultUnload.ToList();

            if (ModelState.IsValid && MsgError.Count < 1)
            {
                Context.SalesOrder dbso = new Context.SalesOrder();
                Context.SalesOrderProsesKonsolidasi dbitem = new Context.SalesOrderProsesKonsolidasi();
                SetIsselect(model.StrListSo, null);
                model.setDb(dbitem);
                dbitem.Urutan   = RepoSalesOrder.getUrutanProsesKonsolidasi(model.TanggalMuat.Value) + 1;
                dbitem.SONumber = RepoSalesOrder.generateProsesKonsolidasi(model.TanggalMuat.Value, dbitem.Urutan);
                dbitem.DN       = "DN" + dbitem.SONumber;
                dbso.SalesOrderProsesKonsolidasi = dbitem;

                if (btnsave == "save")
                {
                    dbso.Status = "save";
                }
                else if (btnsave == "draft")
                {
                    dbso.Status = "draft";
                }
                else
                {
                    dbso.Status = model.Status;
                }

                RepoSalesOrder.save(dbso);
                RepoAuditrail.saveSalesOrderProsesKonsolidasiQuery(dbitem, UserPrincipal.id);
                foreach (Context.SalesOrderProsesKonsolidasiItem item in dbitem.SalesOrderProsesKonsolidasiItem)
                {
                    RepoAuditrail.saveSalesOrderProsesKonsolidasiItemQuery(item, UserPrincipal.id);
                }
                foreach (Context.SalesOrderProsesKonsolidasiLoadingAdd item in dbitem.SalesOrderProsesKonsolidasiLoadingAdd)
                {
                    RepoAuditrail.saveSalesOrderProsesKonsolidasiLoadingAddQuery(item, UserPrincipal.id);
                }
                foreach (Context.SalesOrderProsesKonsolidasiUnLoadingAdd item in dbitem.SalesOrderProsesKonsolidasiUnLoadingAdd)
                {
                    RepoAuditrail.saveSalesOrderProsesKonsolidasiUnLoadingAddQuery(item, UserPrincipal.id);
                }

                return(RedirectToAction("Index"));
            }


            ViewBag.ErrorSo = MsgError;

            return(View("Form", model));
        }