コード例 #1
0
        public ActionResult View(int id)
        {
            Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(id);

            if (dbitem.SalesOrderOncallId != null)
            {
                SalesOrderOncall model = new SalesOrderOncall(dbitem);
                ViewBag.name = model.SONumber;
                return(View("SalesOrderOncall/FormReadOnly", model));
            }
            else if (dbitem.SalesOrderPickupId != null)
            {
                SalesOrderPickup model = new SalesOrderPickup(dbitem);
                ViewBag.name = model.SONumber;
                return(View("SalesOrderPickup/FormReadOnly", model));
            }
            else if (dbitem.SalesOrderProsesKonsolidasiId != null)
            {
                SalesOrderProsesKonsolidasi model = new SalesOrderProsesKonsolidasi(dbitem);
                ViewBag.name = model.SONumber;
                return(View("SalesOrderProsesKonsolidasi/FormReadOnly", model));
            }
            else if (dbitem.SalesOrderKontrakId != null)
            {
                SalesOrderKontrak model = new SalesOrderKontrak(dbitem);
                ViewBag.name = model.SONumber;
                return(View("SalesOrderKontrak/FormReadOnly", model));
            }
            return(RedirectToAction("", ""));
        }
コード例 #2
0
        public ActionResult Add(SalesOrderPickup model, string btnsave)
        {
            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)
            {
                Context.SalesOrder       dbso   = new Context.SalesOrder();
                Context.SalesOrderPickup dbitem = new Context.SalesOrderPickup();
                model.setDb(dbitem);
                dbitem.Urutan         = RepoSalesOrder.getUrutanPickup(model.TanggalPickup.Value) + 1;
                dbitem.SONumber       = RepoSalesOrder.generatePickup(model.TanggalPickup.Value, dbitem.Urutan);
                dbso.SalesOrderPickup = dbitem;

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

                RepoSalesOrder.save(dbso);

                return(RedirectToAction("Index"));
            }

            return(View("Form", model));
        }
コード例 #3
0
        public ActionResult Edit(int id)
        {
            Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(id);
            SalesOrderPickup   model  = new SalesOrderPickup(dbitem);

            ViewBag.name = model.SONumber;
            return(View("Form", model));
        }
コード例 #4
0
        public ActionResult InputDp(int id, string status)
        {
            Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(id);
            SalesOrderPickup   model  = new SalesOrderPickup(dbitem);

            ViewBag.name    = model.SONumber;
            ViewBag.kondisi = "inputdp";

            //if (status != "settlement" && status != "dispatched")
            //{
            //    TempData["errorMsgListOrder"] = "Maaf, Status SO belum Settlement ataupun Dispatched";
            //    return RedirectToAction("Index", "ListOrder");
            //}
            //else
            //{
            //    TempData.Remove("errorMsgListOrder");
            //    return View("SalesOrderOncall/FormReadOnly", model);
            //}
            TempData.Remove("errorMsgListOrder");
            return(View("SalesOrderPickup/FormReadOnly", model));
        }
コード例 #5
0
 public ActionResult Edit(int id)
 {
     Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(id);
     if (dbitem.SalesOrderOncallId.HasValue)
     {
         SalesOrderOncall model = new SalesOrderOncall(dbitem);
         ViewBag.kondisi        = "planning";
         ViewBag.name           = model.SONumber;
         ViewBag.area           = RepoSalesOrder.FindArea(dbitem.SalesOrderOncall.IdDaftarHargaItem.Value);
         ViewBag.is_area_pulang = RepoSalesOrder.FindRute(dbitem.SalesOrderOncall.IdDaftarHargaItem.Value).IsAreaPulang == true ? "Yes" : "No";
         ViewBag.TanggalPulang  = model.TanggalMuat.Value.AddDays(RepoSalesOrder.FindRute(dbitem.SalesOrderOncall.IdDaftarHargaItem.Value).WaktuKerja);
         ViewBag.Title          = "Planning Sales Order Oncall " + model.SONumber;
         ViewBag.PostData       = "EditOncall";
         return(View("SalesOrderOncall/FormReadOnly", model));
     }
     else if (dbitem.SalesOrderProsesKonsolidasiId.HasValue)
     {
         SalesOrderProsesKonsolidasi model = new SalesOrderProsesKonsolidasi(dbitem);
         ViewBag.kondisi  = "planning";
         ViewBag.name     = model.SONumber;
         ViewBag.Title    = "Planning Sales Order Proses Konsolidasi " + model.SONumber;
         ViewBag.PostData = "EditProsesKonsolidasi";
         return(View("SalesOrderProsesKonsolidasi/FormReadOnly", model));
     }
     else if (dbitem.SalesOrderPickupId.HasValue)
     {
         SalesOrderPickup model = new SalesOrderPickup(dbitem);
         ViewBag.kondisi  = "planning";
         ViewBag.name     = model.SONumber;
         ViewBag.Title    = "Planning Sales Order Pickup " + model.SONumber;
         ViewBag.PostData = "EditPickup";
         return(View("SalesOrderPickup/FormReadOnly", model));
     }
     else
     {
         return(View(""));
     }
 }
コード例 #6
0
        public ActionResult Edit(SalesOrderPickup model, string btnsave)
        {
            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)
            {
                Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(model.SalesOrderId.Value);

                model.setDb(dbitem.SalesOrderPickup);
                RepoAuditrail.saveDelAllSalesOrderPickupUnLoadingAddQuery(dbitem.SalesOrderPickup, UserPrincipal.id);
                foreach (Context.SalesOrderPickupUnLoadingAdd sopula in dbitem.SalesOrderPickup.SalesOrderPickupUnLoadingAdd)
                {
                    RepoAuditrail.saveSalesOrderPickupUnLoadingAddQuery(sopula, UserPrincipal.id);
                }
                if (btnsave == "save")
                {
                    dbitem.Status = "save";
                }
                else if (btnsave == "draft")
                {
                    dbitem.Status = "draft";
                }
                else
                {
                    dbitem.Status = model.Status;
                }

                RepoSalesOrder.save(dbitem);


                return(RedirectToAction("Index"));
            }

            return(View("Form", model));
        }
コード例 #7
0
        public ActionResult EditPickup(SalesOrderPickup 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;
                }
            }

            if (palid)
            {
                Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(model.SalesOrderId.Value);
                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
                    {
                        dbitem.isReturn = false;
                        act             = "Submit";
                    }

                    dbitem.Status = model.Status;
                }

                model.setDbOperasional(dbitem.SalesOrderPickup, act, "Operational");
                RepoSalesOrder.save(dbitem);
                var query = "UPDATE dbo.\"SalesOrderPickup\" SET \"SONumber\" = " + dbitem.SalesOrderPickup.SONumber + ", \"Urutan\" = " + dbitem.SalesOrderPickup.Urutan + ", TanggalOrder\" = " +
                            dbitem.SalesOrderPickup.TanggalOrder + ", \"CustomerId\" = " + dbitem.SalesOrderPickup.CustomerId + ", \"JenisTruckId\" = " + dbitem.SalesOrderPickup.JenisTruckId + ", \"ProductId\" = " +
                            dbitem.SalesOrderPickup.ProductId + ", \"TanggalPickup\" = " + dbitem.SalesOrderPickup.TanggalPickup + ", \"JamPickup\" = " + dbitem.SalesOrderPickup.JamPickup + ", \"IsSelect\" = " +
                            dbitem.SalesOrderPickup.IsSelect + ", \"Keterangan\" = " + dbitem.SalesOrderPickup.Keterangan + ", \"KeteranganLoading\" = " + dbitem.SalesOrderPickup.KeteranganLoading + ", \"KeteranganUnloading\" = " +
                            dbitem.SalesOrderPickup.KeteranganUnloading + ", \"JamOrder\" = " + dbitem.SalesOrderPickup.JamOrder + ", \"StrMultidrop\" = " + dbitem.SalesOrderPickup.StrMultidrop + ", \"RuteId\" = " +
                            dbitem.SalesOrderPickup.RuteId + ", \"IdDataTruck\" = " + dbitem.SalesOrderPickup.IdDataTruck + ", \"KeteranganDataTruck\" = " + dbitem.SalesOrderPickup.KeteranganDataTruck + ", \"Driver1Id\" = " +
                            dbitem.SalesOrderPickup.Driver1Id + ", \"KeteranganDriver1\" = " + dbitem.SalesOrderPickup.KeteranganDriver1 + ", \"Driver2Id\" = " + dbitem.SalesOrderPickup.Driver2Id + ", \"KeteranganDriver2\" = " +
                            dbitem.SalesOrderPickup.KeteranganDriver2 + ", \"IsCash\" = " + dbitem.SalesOrderPickup.IsCash + ", \"IdDriverTitip\" = " + dbitem.SalesOrderPickup.IdDriverTitip + ", \"KeteranganRek\" = " +
                            dbitem.SalesOrderPickup.KeteranganRek + ", \"AtmId\" = " + dbitem.SalesOrderPickup.AtmId + " WHERE \"SalesOrderPickupId\" = " + dbitem.SalesOrderPickupId +
                            ";INSERT INTO dbo.\"SalesOrderPickupComment\" (\"SalesOrderPickupId\", \"Tanggal\", \"CommentUser\", \"Action\", \"Username\") VALUES (" + dbitem.SalesOrderPickupId + ", " + DateTime.Now + ", " +
                            model.CommentUser + ", " + act + ", " + UserPrincipal.username + ");";
                RepoAuditrail.SetAuditTrail(query, "Planning Pickup", "Edit", UserPrincipal.id);
                return(RedirectToAction("Index"));
            }
            else
            {
                ViewBag.kondisi  = "planning";
                ViewBag.name     = model.SONumber;
                ViewBag.Title    = "Planning Sales Order Pickup " + model.SONumber;
                ViewBag.PostData = "EditPickup";
                return(View("SalesOrderPickup/FormReadOnly", model));
            }
        }
コード例 #8
0
        public ActionResult Add()
        {
            SalesOrderPickup model = new SalesOrderPickup();

            return(View("Form", model));
        }
コード例 #9
0
        public ActionResult Edit(RevisiTanggal model)
        {
            Context.SalesOrder    dbso      = RepoSalesOrder.FindByPK(model.IdSalesOrder.Value);
            Context.RevisiTanggal revisiTgl = new Context.RevisiTanggal();

            if (ModelState.IsValid)
            {
                if (dbso.Status == "dispatched")
                {
                    //batalkeun so na
                    Context.SettlementBatal dbsettlement        = new Context.SettlementBatal();
                    Context.AdminUangJalan  dummyAdminUangJalan = dbso.AdminUangJalan;
                    Context.BatalOrder      batalOrder          = new Context.BatalOrder();
                    //batal
                    dbso.Status             = "batal order";
                    batalOrder.IdSalesOrder = dbso.Id;
                    batalOrder.Keterangan   = "Revisi Tanggal";
                    batalOrder.ModifiedDate = DateTime.Now;
                    dbso.KeteranganBatal    = "Revisi tanggal dari " + (dbso.SalesOrderOncallId.HasValue ? (dbso.SalesOrderOncall.TanggalMuat.ToString()).Split(' ')[0] : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.TanggalPickup.ToString().Split(' ')[0] : dbso.SalesOrderProsesKonsolidasi.TanggalMuat.ToString().Split(' ')[0]) + " ke " + model.TanggalBaru.ToString().Split(' ')[0] + " - " + model.KeteranganRevisi;
                    RepoSalesOrder.save(dbso);
                    RepoBatalOrder.save(batalOrder, UserPrincipal.id);
                    //settlement batal
                    dbsettlement.IdDriver     = dummyAdminUangJalan.IdDriver1;
                    dbsettlement.IdSalesOrder = dbso.Id;
                    if (dummyAdminUangJalan.AdminUangJalanUangTf.Any(d => d.Keterangan == "Tunai"))
                    {
                        dbsettlement.KasDiterima = dummyAdminUangJalan.AdminUangJalanUangTf.Where(d => d.Keterangan == "Tunai").FirstOrDefault().JumlahTransfer;
                    }
                    if (dummyAdminUangJalan.AdminUangJalanUangTf.Any(d => d.Keterangan.Contains("Transfer")))
                    {
                        dbsettlement.TransferDiterima = dummyAdminUangJalan.AdminUangJalanUangTf.Where(d => d.Keterangan.Contains("Transfer")).Sum(t => t.JumlahTransfer);
                    }
                    dbsettlement.SolarDiterima = dummyAdminUangJalan.AdminUangJalanVoucherSpbu.Sum(s => s.Value);
                    dbsettlement.KapalDiterima = dummyAdminUangJalan.AdminUangJalanVoucherKapal.Sum(s => s.Value);
                    dbsettlement.JenisBatal    = "Batal Order";
                    RepoSettBatal.save(dbsettlement, UserPrincipal.id, "Revisi Tanggal");
                    //create so baru
                    Context.SalesOrder dummySo = new Context.SalesOrder();
                    dummySo.isReturn         = true;
                    dummySo.DateRevised      = true;
                    dummySo.Status           = "Draft";
                    dummySo.AdminUangJalanId = null;
                    dummySo.AdminUangJalan   = null;
                    dummySo.DateStatus       = DateTime.Now;

                    if (dbso.SalesOrderOncallId.HasValue)
                    {
                        //urus anak na
                        Context.SalesOrderOncall dboncall    = new Context.SalesOrderOncall();
                        SalesOrderOncall         modelOncall = new SalesOrderOncall(dbso);
                        modelOncall.setDb(dboncall);
                        dboncall.SalesOrderOnCallId = 0;
                        dboncall.TanggalMuat        = model.TanggalBaru;
                        dboncall.JamMuat            = model.JamBaru.Value;
                        dboncall.Urutan             = RepoSalesOrder.getUrutanOnCAll(modelOncall.TanggalMuat.Value) + 1;
                        dboncall.SONumber           = RepoSalesOrder.generateCodeOnCall(modelOncall.TanggalMuat.Value, dboncall.Urutan);
                        dboncall.DN         = "DN" + dboncall.SONumber;
                        dboncall.Keterangan = "Revisi tanggal dari " + (dbso.SalesOrderOncallId.HasValue ? (dbso.SalesOrderOncall.TanggalMuat.ToString()).Split(' ')[0] : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.TanggalPickup.ToString().Split(' ')[0] : dbso.SalesOrderProsesKonsolidasi.TanggalMuat.ToString().Split(' ')[0]) + " ke " + model.TanggalBaru.ToString().Split(' ')[0] + " - " + model.KeteranganRevisi + " - " + dbso.SalesOrderOncall.Keterangan;

                        dummySo.SalesOrderOncall = dboncall;
                        RepoAuditrail.SetAuditTrail("INSERT INTO dbo.\"SalesOrderOncall\" (\"SONumber\", \"Urutan\", \"TanggalOrder\", \"JamOrder\", \"CustomerId\", \"PrioritasId\", \"JenisTruckId\", \"ProductId\", " +
                                                    "\"TanggalMuat\", \"JamMuat\", \"Keterangan\", \"KeteranganLoading\", \"KeteranganUnloading\", \"IdDaftarHargaItem\", \"StrDaftarHargaItem\", \"StrMultidrop\", \"IdDataTruck\", \"Driver1Id\", " +
                                                    "\"KeteranganDriver1\", \"Driver2Id\", \"KeteranganDriver2\", \"IsCash\", \"KeteranganRek\", \"IdDriverTitip\", \"DN\", \"KeteranganDataTruck\", \"AtmId\") VALUES (" + dboncall.SONumber + ", "
                                                    + dboncall.Urutan + ", " + dboncall.TanggalOrder + ", " + dboncall.JamOrder + ", " + dboncall.CustomerId + ", " + dboncall.PrioritasId + ", " + dboncall.JenisTruckId + ", " + dboncall.ProductId +
                                                    ", " + dboncall.TanggalMuat + ", " + dboncall.JamMuat + ", " + dboncall.Keterangan + ", " + dboncall.KeteranganLoading + ", " + dboncall.KeteranganUnloading + ", " + dboncall.IdDaftarHargaItem +
                                                    "," + dboncall.StrDaftarHargaItem + ", " + dboncall.StrMultidrop + ", " + dboncall.IdDataTruck + ", " + dboncall.Driver1Id + ", " + dboncall.KeteranganDriver1 + ", " + dboncall.Driver2Id + ", " +
                                                    dboncall.KeteranganDriver2 + ", " + dboncall.IsCash + ", " + dboncall.KeteranganRek + ", " + dboncall.IdDriverTitip + ", " + dboncall.DN + ", " + dboncall.KeteranganDataTruck + ", " +
                                                    dboncall.AtmId + ");", "List Order", "Revisi Jenis Truk", UserPrincipal.id);
                    }
                    else if (dbso.SalesOrderPickupId.HasValue)
                    {
                        Context.SalesOrderPickup dbpickup    = new Context.SalesOrderPickup();
                        SalesOrderPickup         modelPickup = new SalesOrderPickup(dbso);
                        modelPickup.setDb(dbpickup);
                        dbpickup.SalesOrderPickupId = 0;
                        dbpickup.TanggalPickup      = model.TanggalBaru.Value;
                        dbpickup.JamPickup          = model.JamBaru.Value;
                        dbpickup.Urutan             = RepoSalesOrder.getUrutanPickup(modelPickup.TanggalPickup.Value) + 1;
                        dbpickup.SONumber           = RepoSalesOrder.generatePickup(modelPickup.TanggalPickup.Value, dbpickup.Urutan);
                        dbpickup.Keterangan         = "Revisi tanggal dari " + (dbso.SalesOrderOncallId.HasValue ? (dbso.SalesOrderOncall.TanggalMuat.ToString()).Split(' ')[0] : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.TanggalPickup.ToString().Split(' ')[0] : dbso.SalesOrderProsesKonsolidasi.TanggalMuat.ToString().Split(' ')[0]) + " ke " + model.TanggalBaru.ToString().Split(' ')[0] + " - " + model.KeteranganRevisi + " - " + dbso.SalesOrderPickup.Keterangan;

                        dummySo.SalesOrderPickup = dbpickup;
                    }
                    else if (dbso.SalesOrderProsesKonsolidasiId.HasValue)
                    {
                        Context.SalesOrderProsesKonsolidasi dbkonsolidasi    = new Context.SalesOrderProsesKonsolidasi();
                        SalesOrderProsesKonsolidasi         modelKonsolidasi = new SalesOrderProsesKonsolidasi(dbso);
                        modelKonsolidasi.setDb(dbkonsolidasi);
                        dbkonsolidasi.SalesOrderProsesKonsolidasiId = 0;
                        dbkonsolidasi.TanggalMuat = model.TanggalBaru.Value;
                        dbkonsolidasi.JamMuat     = model.JamBaru.Value;
                        dbkonsolidasi.Urutan      = RepoSalesOrder.getUrutanProsesKonsolidasi(modelKonsolidasi.TanggalMuat.Value) + 1;
                        dbkonsolidasi.SONumber    = RepoSalesOrder.generateProsesKonsolidasi(modelKonsolidasi.TanggalMuat.Value, dbkonsolidasi.Urutan);
                        dbkonsolidasi.DN          = "DN" + dbkonsolidasi.SONumber;
                        dbkonsolidasi.Keterangan  = "Revisi tanggal dari " + (dbso.SalesOrderOncallId.HasValue ? (dbso.SalesOrderOncall.TanggalMuat.ToString()).Split(' ')[0] : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.TanggalPickup.ToString().Split(' ')[0] : dbso.SalesOrderProsesKonsolidasi.TanggalMuat.ToString().Split(' ')[0]) + " ke " + model.TanggalBaru.ToString().Split(' ')[0] + " - " + model.KeteranganRevisi + " - " + dbso.SalesOrderProsesKonsolidasi.Keterangan;

                        dummySo.SalesOrderProsesKonsolidasi = dbkonsolidasi;
                        RepoAuditrail.saveSalesOrderProsesKonsolidasiQuery(dummySo.SalesOrderProsesKonsolidasi, UserPrincipal.id);
                    }

                    dummySo.Id = 0;
                    string sod_guid = Guid.NewGuid().ToString();
                    dummySo.oidErp = sod_guid;
                    RepoSalesOrder.save(dummySo);
                    SyncToERP(dummySo, sod_guid);
                }
                else
                {
                    if (dbso.SalesOrderOncallId.HasValue)
                    {
                        dbso.SalesOrderOncall.TanggalMuat = model.TanggalBaru;
                        dbso.SalesOrderOncall.JamMuat     = model.JamBaru.Value;
                        RepoAuditrail.SetAuditTrail(
                            "UPDATE dbo.\"SalesOrderOncall\" SET \"TanggalMuat\" = " + model.TanggalBaru + ", \"JamMuat\" = " + model.JamBaru.Value + " WHERE \"SalesOrderOnCallId\" = " + dbso.SalesOrderOncallId + ";",
                            "List Order", "Revisi Rute", UserPrincipal.id
                            );
                    }
                    else if (dbso.SalesOrderPickupId.HasValue)
                    {
                        dbso.SalesOrderPickup.TanggalPickup = model.TanggalBaru.Value;
                        dbso.SalesOrderPickup.JamPickup     = model.JamBaru.Value;
                    }
                    else if (dbso.SalesOrderProsesKonsolidasiId.HasValue)
                    {
                        dbso.SalesOrderProsesKonsolidasi.TanggalMuat = model.TanggalBaru.Value;
                        dbso.SalesOrderProsesKonsolidasi.JamMuat     = model.JamBaru.Value;
                        RepoAuditrail.saveUpdSalesOrderProsesKonsolidasiQuery(dbso.SalesOrderProsesKonsolidasi, UserPrincipal.id);
                    }
                    revisiTgl.IdSalesOrder = model.IdSalesOrder.Value;
                    dbso.DateRevised       = true;
                    RepoSalesOrder.save(dbso);
                    RepoRevisiTanggal.save(revisiTgl);
                }

                return(RedirectToAction("Index", "ListOrder"));
            }

            return(View("Form", model));
        }
コード例 #10
0
        public ActionResult Edit(int id)
        {
            Context.SalesOrder dbitem  = RepoSalesOrder.FindByPK(id);
            List <Context.Atm> ListAtm = RepoAtm.FindAll();

            if (dbitem.SalesOrderOncallId.HasValue)
            {
                SalesOrderOncall model = new SalesOrderOncall(dbitem);
                //ambil rekening default
                if (!model.AtmId.HasValue)
                {
                    Context.Atm dummAtm = ListAtm.Where(d => d.IdDriver == model.Driver1Id).FirstOrDefault();
                    if (dummAtm != null)
                    {
                        model.AtmId       = dummAtm.Id;
                        model.StrRekening = dummAtm.NoRekening;
                        model.AtasNamaRek = dummAtm.AtasNama;
                        model.Bank        = dummAtm.LookupCodeBank.Nama;
                    }
                }

                ViewBag.kondisi  = "konfirmasi";
                ViewBag.name     = model.SONumber;
                ViewBag.Title    = "konfirmasi Sales Order Oncall " + model.SONumber;
                ViewBag.PostData = "EditOncall";
                return(View("SalesOrderOncall/FormReadOnly", model));
            }
            else if (dbitem.SalesOrderProsesKonsolidasiId.HasValue)
            {
                SalesOrderProsesKonsolidasi model = new SalesOrderProsesKonsolidasi(dbitem);

                //ambil rekening default
                if (!model.AtmId.HasValue)
                {
                    Context.Atm dummAtm = ListAtm.Where(d => d.IdDriver == model.Driver1Id).FirstOrDefault();
                    if (dummAtm != null)
                    {
                        model.AtmId       = dummAtm.Id;
                        model.StrRekening = dummAtm.NoRekening;
                        model.AtasNamaRek = dummAtm.AtasNama;
                        model.Bank        = dummAtm.LookupCodeBank.Nama;
                    }
                }

                ViewBag.kondisi  = "konfirmasi";
                ViewBag.name     = model.SONumber;
                ViewBag.Title    = "konfirmasi Sales Proses Konsolidasi " + model.SONumber;
                ViewBag.PostData = "EditKonsolidasi";
                return(View("SalesOrderProsesKonsolidasi/FormReadOnly", model));
            }
            else if (dbitem.SalesOrderPickupId.HasValue)
            {
                SalesOrderPickup model = new SalesOrderPickup(dbitem);

                //ambil rekening default
                if (!model.AtmId.HasValue)
                {
                    Context.Atm dummAtm = ListAtm.Where(d => d.IdDriver == model.Driver1Id).FirstOrDefault();
                    if (dummAtm != null)
                    {
                        model.AtmId       = dummAtm.Id;
                        model.StrRekening = dummAtm.NoRekening;
                        model.AtasNamaRek = dummAtm.AtasNama;
                        model.Bank        = dummAtm.LookupCodeBank.Nama;
                    }
                }

                ViewBag.kondisi  = "konfirmasi";
                ViewBag.name     = model.SONumber;
                ViewBag.Title    = "konfirmasi Sales Order Pickup " + model.SONumber;
                ViewBag.PostData = "EditPickup";
                return(View("SalesOrderPickup/FormReadOnly", model));
            }
            else
            {
                return(View(""));
            }
        }
コード例 #11
0
        public ActionResult EditPickup(SalesOrderPickup 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
                    {
                        act             = "Submit";
                        dbitem.isReturn = false;
                    }

                    dbitem.Status = model.Status;
                }

                model.setDbOperasional(dbitem.SalesOrderPickup, act, "Operational");
                RepoSalesOrder.save(dbitem);
                var query = "UPDATE dbo.\"SalesOrderPickup\" SET \"SONumber\" = " + dbitem.SalesOrderPickup.SONumber + ", \"Urutan\" = " + dbitem.SalesOrderPickup.Urutan + ", TanggalOrder\" = " +
                            dbitem.SalesOrderPickup.TanggalOrder + ", \"CustomerId\" = " + dbitem.SalesOrderPickup.CustomerId + ", \"JenisTruckId\" = " + dbitem.SalesOrderPickup.JenisTruckId + ", \"ProductId\" = " +
                            dbitem.SalesOrderPickup.ProductId + ", \"TanggalPickup\" = " + dbitem.SalesOrderPickup.TanggalPickup + ", \"JamPickup\" = " + dbitem.SalesOrderPickup.JamPickup + ", \"IsSelect\" = " +
                            dbitem.SalesOrderPickup.IsSelect + ", \"Keterangan\" = " + dbitem.SalesOrderPickup.Keterangan + ", \"KeteranganLoading\" = " + dbitem.SalesOrderPickup.KeteranganLoading + ", \"KeteranganUnloading\" = " +
                            dbitem.SalesOrderPickup.KeteranganUnloading + ", \"JamOrder\" = " + dbitem.SalesOrderPickup.JamOrder + ", \"StrMultidrop\" = " + dbitem.SalesOrderPickup.StrMultidrop + ", \"RuteId\" = " +
                            dbitem.SalesOrderPickup.RuteId + ", \"IdDataTruck\" = " + dbitem.SalesOrderPickup.IdDataTruck + ", \"KeteranganDataTruck\" = " + dbitem.SalesOrderPickup.KeteranganDataTruck + ", \"Driver1Id\" = " +
                            dbitem.SalesOrderPickup.Driver1Id + ", \"KeteranganDriver1\" = " + dbitem.SalesOrderPickup.KeteranganDriver1 + ", \"Driver2Id\" = " + dbitem.SalesOrderPickup.Driver2Id + ", \"KeteranganDriver2\" = " +
                            dbitem.SalesOrderPickup.KeteranganDriver2 + ", \"IsCash\" = " + dbitem.SalesOrderPickup.IsCash + ", \"IdDriverTitip\" = " + dbitem.SalesOrderPickup.IdDriverTitip + ", \"KeteranganRek\" = " +
                            dbitem.SalesOrderPickup.KeteranganRek + ", \"AtmId\" = " + dbitem.SalesOrderPickup.AtmId + " WHERE \"SalesOrderPickupId\" = " + dbitem.SalesOrderPickupId +
                            ";INSERT INTO dbo.\"SalesOrderPickupComment\" (\"SalesOrderPickupId\", \"Tanggal\", \"CommentUser\", \"Action\", \"Username\") VALUES (" + dbitem.SalesOrderPickupId + ", " + DateTime.Now + ", " +
                            model.CommentUser + ", " + act + ", " + UserPrincipal.username + ");";
                RepoAuditrail.SetAuditTrail(query, "Konfirmasi Pickup", "Edit", UserPrincipal.id);
                return(RedirectToAction("Index"));
            }
            else
            {
                ViewBag.kondisi  = "konfirmasi";
                ViewBag.name     = model.SONumber;
                ViewBag.Title    = "Konfirmsai Sales Order Pickup " + model.SONumber;
                ViewBag.PostData = "EditPickup";
                return(View("SalesOrderPickup/FormReadOnly", model));
            }
        }
コード例 #12
0
        public ActionResult Edit(RevisiRute model)
        {
            Context.SalesOrder dbso       = RepoSalesOrder.FindByPK(model.IdSalesOrder.Value);
            Context.RevisiRute revisiRute = new Context.RevisiRute();
            revisiRute.Code = "RR" + (dbso.SalesOrderOncallId.HasValue ? dbso.SalesOrderOncall.SONumber : dbso.SalesOrderProsesKonsolidasiId.HasValue ? dbso.SalesOrderProsesKonsolidasi.SONumber : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.SONumber : dbso.SalesOrderKontrak.SONumber);
            Context.SalesOrder dummySo = new Context.SalesOrder();

            if (ModelState.IsValid)
            {
                if (dbso.Status == "dispatched" || dbso.Status == "admin uang jalan")
                {
                    Context.AdminUangJalan dummyAdminUangJalan = dbso.AdminUangJalan;
                    Context.BatalOrder     batalOrder          = new Context.BatalOrder();
                    //batal
                    dbso.Status             = "batal order";
                    dbso.KeteranganBatal    = "Revisi rute dari " + model.RuteLama + " ke " + model.RuteBaru;//"Revisi RUte" dari <rute sebelumnya> ke <rute yang dipilih > [isi dari keterangan revisi rute ]
                    batalOrder.IdSalesOrder = dbso.Id;
                    batalOrder.Keterangan   = "Revisi Rute";
                    batalOrder.ModifiedDate = DateTime.Now;
                    RepoSalesOrder.save(dbso);
                    RepoBatalOrder.save(batalOrder, UserPrincipal.id);
                    if (dbso.Status == "dispatched")
                    {
                        //batalkeun so na
                        Context.SettlementBatal dbsettlement = new Context.SettlementBatal();
                        //settlement batal
                        dbsettlement.IdDriver     = dummyAdminUangJalan.IdDriver1;
                        dbsettlement.IdSalesOrder = dbso.Id;
                        if (dummyAdminUangJalan.AdminUangJalanUangTf.Any(d => d.Keterangan == "Tunai"))
                        {
                            dbsettlement.KasDiterima = dummyAdminUangJalan.AdminUangJalanUangTf.Where(d => d.Keterangan == "Tunai").FirstOrDefault().JumlahTransfer;
                        }
                        if (dummyAdminUangJalan.AdminUangJalanUangTf.Any(d => d.Keterangan.Contains("Transfer")))
                        {
                            dbsettlement.TransferDiterima = dummyAdminUangJalan.AdminUangJalanUangTf.Where(d => d.Keterangan.Contains("Transfer")).Sum(t => t.JumlahTransfer);
                        }
                        dbsettlement.SolarDiterima = dummyAdminUangJalan.AdminUangJalanVoucherSpbu.Sum(s => s.Value);
                        dbsettlement.KapalDiterima = dummyAdminUangJalan.AdminUangJalanVoucherKapal.Sum(s => s.Value);
                        dbsettlement.JenisBatal    = "Batal Order";
                        RepoSettBatal.save(dbsettlement, UserPrincipal.id, "Batal Order");
                    }
                    else
                    {
                        //jurnal balik cynt
                        Context.ERPConfig erpConfig     = RepoERPConfig.FindByFrist();
                        decimal?          tambahanRute  = dummyAdminUangJalan.AdminUangJalanTambahanRute.Sum(s => s.values);
                        decimal?          boronganDasar = dummyAdminUangJalan.TotalAlokasi - dummyAdminUangJalan.Kawalan - dummyAdminUangJalan.Timbangan - dummyAdminUangJalan.Karantina - dummyAdminUangJalan.SPSI - dummyAdminUangJalan.Multidrop - tambahanRute - dummyAdminUangJalan.AdminUangJalanTambahanLain.Sum(s => s.Values);
                        Repoglt_det.saveFromAc(1, revisiRute.Code, 0, boronganDasar, Repoac_mstr.FindByPk(erpConfig.IdBoronganDasar));
                        Repoglt_det.saveFromAc(2, revisiRute.Code, 0, dummyAdminUangJalan.Kawalan, Repoac_mstr.FindByPk(erpConfig.IdKawalan));
                        Repoglt_det.saveFromAc(3, revisiRute.Code, 0, dummyAdminUangJalan.Timbangan, Repoac_mstr.FindByPk(erpConfig.IdTimbangan));
                        Repoglt_det.saveFromAc(4, revisiRute.Code, 0, dummyAdminUangJalan.Karantina, Repoac_mstr.FindByPk(erpConfig.IdKarantina));
                        Repoglt_det.saveFromAc(5, revisiRute.Code, 0, dummyAdminUangJalan.SPSI, Repoac_mstr.FindByPk(erpConfig.IdSPSI));
                        Repoglt_det.saveFromAc(6, revisiRute.Code, 0, dummyAdminUangJalan.Multidrop, Repoac_mstr.FindByPk(erpConfig.IdMultidrop));
                        Repoglt_det.saveFromAc(7, revisiRute.Code, 0, tambahanRute, Repoac_mstr.FindByPk(erpConfig.IdTambahanRuteMuat));
                        Repoglt_det.saveFromAc(8, revisiRute.Code, 0, dummyAdminUangJalan.AdminUangJalanTambahanLain.Sum(s => s.Values), Repoac_mstr.FindByPk(erpConfig.IdTambahanRuteLain));
                        Repoglt_det.saveFromAc(9, revisiRute.Code, dummyAdminUangJalan.KasbonDriver1, 0, Repoac_mstr.FindByPk(erpConfig.IdKasbonAuj));
                        Repoglt_det.saveFromAc(10, revisiRute.Code, dummyAdminUangJalan.KlaimDriver1, 0, Repoac_mstr.FindByPk(erpConfig.IdKlaimAuj));
                        Repoglt_det.saveFromAc(11, revisiRute.Code, dummyAdminUangJalan.AdminUangJalanPotonganDriver.Sum(s => s.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdPotonganLainAuj));
                        Repoglt_det.saveFromAc(12, revisiRute.Code, dummyAdminUangJalan.AdminUangJalanVoucherKapal.Sum(s => s.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdVoucherKapal));
                        Repoglt_det.saveFromAc(13, revisiRute.Code, dummyAdminUangJalan.AdminUangJalanVoucherSpbu.Sum(s => s.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdVoucherSolar));
                        Repoglt_det.saveFromAc(14, revisiRute.Code, dummyAdminUangJalan.AdminUangJalanUangTf.Sum(s => s.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdAUJCredit));
                    }
                    //create so baru
                    dummySo.isReturn         = true;
                    dummySo.Status           = "Draft";
                    dummySo.AdminUangJalanId = null;
                    dummySo.AdminUangJalan   = null;
                    dummySo.DateStatus       = DateTime.Now;

                    try{
                        SalesOrderLoadUnload[] resultLoad = JsonConvert.DeserializeObject <SalesOrderLoadUnload[]>(model.StrLoad);
                        model.ListLoad = resultLoad.ToList();
                        SalesOrderLoadUnload[] resultUnload = JsonConvert.DeserializeObject <SalesOrderLoadUnload[]>(model.StrUnload);
                        model.ListUnload = resultUnload.ToList();
                    }
                    catch (Exception e)
                    {
                    }

                    if (dbso.SalesOrderOncallId.HasValue)
                    {
                        //urus anak na
                        Context.SalesOrderOncall dboncall    = new Context.SalesOrderOncall();
                        SalesOrderOncall         modelOncall = new SalesOrderOncall(dbso);
                        modelOncall.setDb(dboncall);
                        dboncall.SalesOrderOnCallId = 0;
                        dboncall.Urutan             = RepoSalesOrder.getUrutanOnCAll(modelOncall.TanggalMuat.Value) + 1;
                        dboncall.SONumber           = RepoSalesOrder.generateCodeOnCall(modelOncall.TanggalMuat.Value, dboncall.Urutan);
                        dboncall.DN = "DN" + dboncall.SONumber;
                        dboncall.IdDaftarHargaItem  = model.IdRute;
                        dboncall.StrDaftarHargaItem = model.RuteBaru;
                        dboncall.StrMultidrop       = model.MultidropBaru;
                        dboncall.SalesOrderOnCallLoadingAdd.Clear();
                        dboncall.Keterangan = "Revisi rute dari " + model.RuteLama + " ke " + model.RuteBaru + " - " + dbso.SalesOrderOncall.Keterangan;
                        foreach (SalesOrderLoadUnload item in model.ListLoad)
                        {
                            dboncall.SalesOrderOnCallLoadingAdd.Add(new Context.SalesOrderOnCallLoadingAdd()
                            {
                                CustomerId = dboncall.CustomerId,
                                CustomerLoadingAddressId = item.Id,
                                urutan   = item.urutan,
                                IsSelect = item.IsSelect
                            });
                        }

                        dboncall.SalesOrderOnCallUnLoadingAdd.Clear();
                        foreach (SalesOrderLoadUnload item in model.ListUnload)
                        {
                            dboncall.SalesOrderOnCallUnLoadingAdd.Add(new Context.SalesOrderOnCallUnLoadingAdd()
                            {
                                CustomerId = dboncall.CustomerId,
                                CustomerUnloadingAddressId = item.Id,
                                urutan   = item.urutan,
                                IsSelect = item.IsSelect
                            });
                        }

                        dummySo.SalesOrderOncall = dboncall;
                        RepoAuditrail.SetAuditTrail("INSERT INTO dbo.\"SalesOrderOncall\" (\"SONumber\", \"Urutan\", \"TanggalOrder\", \"JamOrder\", \"CustomerId\", \"PrioritasId\", \"JenisTruckId\", \"ProductId\", " +
                                                    "\"TanggalMuat\", \"JamMuat\", \"Keterangan\", \"KeteranganLoading\", \"KeteranganUnloading\", \"IdDaftarHargaItem\", \"StrDaftarHargaItem\", \"StrMultidrop\", \"IdDataTruck\", \"Driver1Id\", " +
                                                    "\"KeteranganDriver1\", \"Driver2Id\", \"KeteranganDriver2\", \"IsCash\", \"KeteranganRek\", \"IdDriverTitip\", \"DN\", \"KeteranganDataTruck\", \"AtmId\") VALUES (" + dboncall.SONumber + ", "
                                                    + dboncall.Urutan + ", " + dboncall.TanggalOrder + ", " + dboncall.JamOrder + ", " + dboncall.CustomerId + ", " + dboncall.PrioritasId + ", " + dboncall.JenisTruckId + ", " + dboncall.ProductId +
                                                    ", " + dboncall.TanggalMuat + ", " + dboncall.JamMuat + ", " + dboncall.Keterangan + ", " + dboncall.KeteranganLoading + ", " + dboncall.KeteranganUnloading + ", " + dboncall.IdDaftarHargaItem +
                                                    "," + dboncall.StrDaftarHargaItem + ", " + dboncall.StrMultidrop + ", " + dboncall.IdDataTruck + ", " + dboncall.Driver1Id + ", " + dboncall.KeteranganDriver1 + ", " + dboncall.Driver2Id + ", " +
                                                    dboncall.KeteranganDriver2 + ", " + dboncall.IsCash + ", " + dboncall.KeteranganRek + ", " + dboncall.IdDriverTitip + ", " + dboncall.DN + ", " + dboncall.KeteranganDataTruck + ", " +
                                                    dboncall.AtmId + ");", "List Order", "Revisi Jenis Truk", UserPrincipal.id);
                    }
                    else if (dbso.SalesOrderPickupId.HasValue)
                    {
                        Context.SalesOrderPickup dbpickup    = new Context.SalesOrderPickup();
                        SalesOrderPickup         modelPickup = new SalesOrderPickup(dbso);
                        modelPickup.setDb(dbpickup);

                        dbpickup.SalesOrderPickupId = 0;
                        dbpickup.Urutan             = RepoSalesOrder.getUrutanPickup(modelPickup.TanggalPickup.Value) + 1;
                        dbpickup.SONumber           = RepoSalesOrder.generatePickup(modelPickup.TanggalPickup.Value, dbpickup.Urutan);
                        dbpickup.Keterangan         = "Revisi rute dari " + model.RuteLama + " ke " + model.RuteBaru + " - " + dbso.SalesOrderPickup.Keterangan;

                        dbpickup.SalesOrderPickupLoadingAdd.Clear();
                        foreach (SalesOrderLoadUnload item in model.ListLoad)
                        {
                            dbpickup.SalesOrderPickupLoadingAdd.Add(new Context.SalesOrderPickupLoadingAdd()
                            {
                                CustomerId = dbpickup.CustomerId,
                                CustomerLoadingAddressId = item.Id,
                                urutan   = item.urutan,
                                IsSelect = item.IsSelect
                            });
                        }

                        dbpickup.SalesOrderPickupUnLoadingAdd.Clear();
                        RepoAuditrail.saveDelAllSalesOrderPickupUnLoadingAddQuery(dbpickup, UserPrincipal.id);
                        foreach (SalesOrderLoadUnload item in model.ListUnload)
                        {
                            dbpickup.SalesOrderPickupUnLoadingAdd.Add(new Context.SalesOrderPickupUnLoadingAdd()
                            {
                                CustomerId = dbpickup.CustomerId,
                                CustomerUnloadingAddressId = item.Id,
                                urutan   = item.urutan,
                                IsSelect = item.IsSelect
                            });
                        }

                        dummySo.SalesOrderPickup = dbpickup;
                    }
                    else if (dbso.SalesOrderProsesKonsolidasiId.HasValue)
                    {
                        Context.SalesOrderProsesKonsolidasi dbkonsolidasi    = new Context.SalesOrderProsesKonsolidasi();
                        SalesOrderProsesKonsolidasi         modelKonsolidasi = new SalesOrderProsesKonsolidasi(dbso);
                        modelKonsolidasi.setDb(dbkonsolidasi);

                        dbkonsolidasi.SalesOrderProsesKonsolidasiId = 0;
                        try{
                            dbkonsolidasi.Urutan = RepoSalesOrder.getUrutanProsesKonsolidasi(modelKonsolidasi.TanggalMuat.Value) + 1;
                        }
                        catch (Exception e)
                        {
                            dbkonsolidasi.Urutan = 0;
                        }
                        dbkonsolidasi.SONumber           = RepoSalesOrder.generateProsesKonsolidasi(modelKonsolidasi.TanggalMuat.Value, dbkonsolidasi.Urutan);
                        dbkonsolidasi.DN                 = "DN" + dbkonsolidasi.SONumber;
                        dbkonsolidasi.IdDaftarHargaItem  = model.IdRute;
                        dbkonsolidasi.StrDaftarHargaItem = model.RuteBaru;
                        dbkonsolidasi.Multidrop          = model.MultidropBaru;
                        dbkonsolidasi.Keterangan         = "Revisi rute dari " + model.RuteLama + " ke " + model.RuteBaru + " - " + dbso.SalesOrderProsesKonsolidasi.Keterangan;

                        dummySo.SalesOrderProsesKonsolidasi = dbkonsolidasi;
                        RepoAuditrail.saveSalesOrderProsesKonsolidasiQuery(dummySo.SalesOrderProsesKonsolidasi, UserPrincipal.id);
                    }

                    dummySo.Id = 0;
                    RepoSalesOrder.save(dummySo);
                    if (dbso.SalesOrderPickupId.HasValue)
                    {
                        foreach (Context.SalesOrderPickupUnLoadingAdd sopula in dbso.SalesOrderPickup.SalesOrderPickupUnLoadingAdd)
                        {
                            RepoAuditrail.saveSalesOrderPickupUnLoadingAddQuery(sopula, UserPrincipal.id);
                        }
                    }
                }
                else
                {
                    if (dbso.SalesOrderOncallId.HasValue)
                    {
                        dbso.SalesOrderOncall.IdDaftarHargaItem  = model.IdRute;
                        dbso.SalesOrderOncall.StrDaftarHargaItem = model.RuteBaru;
                        dbso.SalesOrderOncall.StrMultidrop       = model.MultidropBaru;
                        RepoAuditrail.SetAuditTrail(
                            "UPDATE dbo.\"SalesOrderOncall\" SET \"IdDaftarHargaItem\" = " + model.IdRute + ", \"StrDaftarHargaItem\" = " + model.RuteBaru + ", \"StrMultidrop\" = " + model.MultidropBaru +
                            " WHERE \"SalesOrderOnCallId\" = " + dbso.SalesOrderOncallId + ";",
                            "List Order", "Revisi Rute", UserPrincipal.id
                            );
                    }
                    else if (dbso.SalesOrderPickupId.HasValue)
                    {
                        dbso.SalesOrderPickup.RuteId = model.IdRute;
                    }
                    else if (dbso.SalesOrderProsesKonsolidasiId.HasValue)
                    {
                        dbso.SalesOrderProsesKonsolidasi.IdDaftarHargaItem  = model.IdRute;
                        dbso.SalesOrderProsesKonsolidasi.StrDaftarHargaItem = model.RuteBaru;
                        dbso.SalesOrderProsesKonsolidasi.Multidrop          = model.MultidropBaru;
                        RepoAuditrail.saveUpdSalesOrderProsesKonsolidasiQuery(dbso.SalesOrderProsesKonsolidasi, UserPrincipal.id);
                    }
                    revisiRute.IdSalesOrder = model.IdSalesOrder.Value;
                    dbso.RuteRevised        = true;
                    dbso.AdminUangJalanId   = null;
                    dbso.AdminUangJalan     = null;
                    RepoSalesOrder.save(dbso);
                    string sod_guid = Guid.NewGuid().ToString();
                    SyncToERP(dummySo, sod_guid);
                    dbso.oidErp = sod_guid;
                    RepoRevisiRute.save(revisiRute);
                }

                return(RedirectToAction("Index", "ListOrder"));
            }

            model = new RevisiRute(dbso);

            if (dbso.SalesOrderOncallId.HasValue)
            {
                return(View("FormOncall", model));
            }
            else if (dbso.SalesOrderPickupId.HasValue)
            {
                return(View("FormPickup", model));
            }
            else if (dbso.SalesOrderProsesKonsolidasiId.HasValue)
            {
                return(View("FormKonsolidasi", model));
            }

            return(View(""));
        }