public String GetListRute(int idItem)
        {
            Context.DaftarHargaKonsolidasi DHK = RepoDHKonsolidasi.FindAll().Where(d => d.DaftarHargaKonsolidasiItem.Any(i => i.Id == idItem)).FirstOrDefault();

            return(new JavaScriptSerializer().Serialize(
                       DHK.DaftarHargaKonsolidasiItem.Where(d => d.Id == idItem).Select(i => i.ListIdRute).FirstOrDefault()));
        }
        public string GetRuteByCustomer(int idCust, DateTime TanggalMasuk)
        {
            GridRequestParameters param = GridRequestParameters.Current;

            if (param.Filters.Filters == null)
            {
                param.Filters.Filters = new List <tms_mka_v2.Infrastructure.FilterInfo>();
            }
            param.Filters.Filters.Add(new tms_mka_v2.Infrastructure.FilterInfo
            {
                Field    = "IdCust",
                Operator = "eq",
                Value    = idCust.ToString(),
            });

            List <Rute> listRute = new List <Rute>();
            List <Context.DaftarHargaKonsolidasi> dho   = RepoDHKonsolidasi.FindAll(param.Skip, param.Take, (param.Sortings != null ? param.Sortings.ToList() : null), param.Filters);
            List <DaftarHargaKonsolidasiItem>     model = new List <DaftarHargaKonsolidasiItem>();

            Context.DaftarHargaKonsolidasi dhoitem = dho.Where(d => TanggalMasuk >= d.PeriodStart && TanggalMasuk <= d.PeriodEnd).FirstOrDefault();

            foreach (Context.DaftarHargaKonsolidasiItem item in dhoitem.DaftarHargaKonsolidasiItem.ToList())
            {
                model.Add(new DaftarHargaKonsolidasiItem(item));
            }

            return(new JavaScriptSerializer().Serialize(new { data = model }));
        }
        public ActionResult Edit(int id)
        {
            Context.DaftarHargaKonsolidasi dbitem = RepoDHKonsolidasi.FindByPK(id);
            DaftarHargaKonsolidasi         model  = new DaftarHargaKonsolidasi(dbitem);

            ViewBag.name = model.NamaCustomer;
            return(View("Form", model));
        }
 public bool isValidMinMax(int id, int val, string satuan)
 {
     Context.DaftarHargaKonsolidasi     dbDh   = RepoDHKonsolidasi.FindByItemId(id);
     Context.DaftarHargaKonsolidasiItem dbItem = dbDh.DaftarHargaKonsolidasiItem.Where(d => d.Id == id).FirstOrDefault();
     if (dbItem.LookupCodeSatuan.Nama == satuan)
     {
         return((val >= dbItem.MinKg) && (val <= dbItem.MaxKg));
     }
     else
     {
         return(true);
     }
 }
        public DaftarHargaKonsolidasi(Context.DaftarHargaKonsolidasi dbitem)
        {
            Context.CustomerPic     custPIC  = dbitem.Customer.CustomerPic.FirstOrDefault();
            Context.CustomerAddress custAddr = dbitem.Customer.CustomerAddress.Where(
                a => a.LookUpCodesOffice.Nama.ToLower() == "head office" || a.LookUpCodesOffice.Nama.ToLower() == "kantor pusat").FirstOrDefault();

            listKondisi = new List <DaftarHargaKondisi>();
            DaftarHargaKondisi.GenerateKondisi(listKondisi);

            Id           = dbitem.Id;
            IdCust       = dbitem.IdCust;
            KodeCustomer = dbitem.Customer.CustomerCode;
            KodeNama     = dbitem.Customer.CustomerCodeOld;
            NamaCustomer = dbitem.Customer.CustomerNama;
            PeriodStart  = dbitem.PeriodStart;
            PeriodEnd    = dbitem.PeriodEnd;

            if (custAddr != null)
            {
                AlamatCustomer = custAddr.Alamat;
                TelpCustomer   = custAddr.Telp;
                FaxCustomer    = custAddr.Fax;
            }

            if (custPIC != null)
            {
                ContactCustomer = custPIC.Name;
                HpCustomer      = custPIC.Mobile;
            }

            //item
            listItem = new List <DaftarHargaKonsolidasiItem>();
            foreach (Context.DaftarHargaKonsolidasiItem item in dbitem.DaftarHargaKonsolidasiItem.ToList())
            {
                listItem.Add(new DaftarHargaKonsolidasiItem(item));
            }
            //kondisi
            listKondisi = new List <DaftarHargaKondisi>();
            foreach (Context.DaftarHargaKonsolidasiKondisi item in dbitem.DaftarHargaKonsolidasiKondisi.ToList())
            {
                listKondisi.Add(new DaftarHargaKondisi(item));
            }
            //attachment
            listAtt = new List <DaftarHargaKonsolidasiAttachment>();
            foreach (Context.DaftarHargaKonsolidasiAttachment item in dbitem.DaftarHargaKonsolidasiAttachment.ToList())
            {
                listAtt.Add(new DaftarHargaKonsolidasiAttachment(item));
            }
        }
        public JsonResult IsUsed(int id, bool isImported)
        {
            bool isExistData = false;

            // fitur Import Daftar Harga
            if (isImported)
            {
                Context.DaftarHargaKonsolidasi dbItem = RepoDHKonsolidasi.FindByPK(id);
                List <int> listId = dbItem.DaftarHargaKonsolidasiItem.Where(i => i.IdDaftarHargaKonsolidasi == dbItem.Id).Select(i => i.Id).ToList();
                isExistData = RepoSalesOrder.FindAllKonsolidasi().Where(a => listId.Contains(a.SalesOrderKonsolidasi.IdDaftarHargaItem.Value)).Count() > 0;
            }
            // edit & delete grid item Daftar Harga
            else
            {
                isExistData = RepoSalesOrder.FindAllKonsolidasi().Where(a => a.SalesOrderKonsolidasi.IdDaftarHargaItem == id).Count() > 0;
            }

            return(this.Json(isExistData, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Add(SalesOrderKonsolidasi model, string btnsave)
        {
            if (ModelState.IsValid)
            {
                //cek min max
                bool isPalid = true;
                Context.DaftarHargaKonsolidasi     dbDh     = RepoDHKonsolidasi.FindByItemId(model.RuteId.Value);
                Context.DaftarHargaKonsolidasiItem dbDhItem = dbDh.DaftarHargaKonsolidasiItem.Where(d => d.Id == model.RuteId.Value).FirstOrDefault();
                if (!isPalid)
                {
                    return(View("Form", model));
                }

                Context.SalesOrder            dbso   = new Context.SalesOrder();
                Context.SalesOrderKonsolidasi dbitem = new Context.SalesOrderKonsolidasi();
                model.setDb(dbitem);
                dbitem.Urutan              = RepoSalesOrder.getUrutanKonsolidasi(model.TanggalMasuk.Value) + 1;
                dbitem.SONumber            = RepoSalesOrder.generateKonsolidasi(model.TanggalMasuk.Value, dbitem.Urutan);
                dbitem.DN                  = "DN" + dbitem.SONumber;
                dbso.SalesOrderKonsolidasi = 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));
        }
        //public JsonResult GetItem(int id, string date)
        public String GetItem(int id, string date)
        {
            DateTime dtrDate  = DateTime.Parse(date.Split(new string[] { " - " }, StringSplitOptions.None)[0]);
            DateTime dtrDate2 = DateTime.Parse(date.Split(new string[] { " - " }, StringSplitOptions.None)[1]);

            List <DaftarHargaKonsolidasiItem> listItem = new List <DaftarHargaKonsolidasiItem>();

            Context.DaftarHargaKonsolidasi DHK = RepoDHKonsolidasi.FindAll().Where(d => d.Id == id && d.PeriodStart == dtrDate && d.PeriodEnd == dtrDate2).FirstOrDefault();
            if (DHK != null)
            {
                foreach (Context.DaftarHargaKonsolidasiItem item in DHK.DaftarHargaKonsolidasiItem)
                {
                    listItem.Add(new DaftarHargaKonsolidasiItem(item));
                }
            }

            return(new JavaScriptSerializer().Serialize(
                       listItem.Select(i => new
            {
                Id = i.Id,
                NamaRuteDaftarHarga = i.NamaRuteDaftarHarga,
                ListIdRute = i.ListIdRute,
                ListNamaRute = i.ListNamaRute,
                IdJenisKendaraan = i.IdJenisKendaraan,
                NamaJenisKendaraan = i.NamaJenisKendaraan,
                MinKg = i.MinKg,
                MaxKg = i.MaxKg,
                Harga = i.Harga,
                IdSatuanHarga = i.IdSatuanHarga,
                SatuanHarga = i.SatuanHarga,
                IsAsuransi = i.IsAsuransi,
                Premi = i.Premi,
                TipeNilaiTanggungan = i.TipeNilaiTanggungan,
                NilaiTanggungan = i.NilaiTanggungan,
                PihakPenanggung = i.PihakPenanggung,
                Keterangan = i.Keterangan
            })));
        }
        public JsonResult Delete(int id)
        {
            bool isExistData = false;

            ResponeModel response = new ResponeModel(true);

            Context.DaftarHargaKonsolidasi dbItem = RepoDHKonsolidasi.FindByPK(id);
            List <int> listId = dbItem.DaftarHargaKonsolidasiItem.Where(i => i.IdDaftarHargaKonsolidasi == dbItem.Id).Select(i => i.Id).ToList();

            isExistData = RepoSalesOrder.FindAllKonsolidasi().Where(a => listId.Contains(a.SalesOrderKonsolidasi.IdDaftarHargaItem.Value)).Count() > 0;

            if (!isExistData)
            {
                RepoDHKonsolidasi.delete(dbItem, UserPrincipal.id);
            }
            else
            {
                response.Success = false;
                response.Message = "Data sudah digunakan, Penghapusan gagal";
            }

            return(Json(response));
        }
        public void setDb(Context.DaftarHargaKonsolidasi dbitem)
        {
            //dbitem.Id = Id;
            dbitem.IdCust      = IdCust;
            dbitem.PeriodStart = PeriodStart.Value;
            dbitem.PeriodEnd   = PeriodEnd.Value;

            // items
            //dbitem.DaftarHargaKonsolidasiItem.Clear();
            DaftarHargaKonsolidasiItem[] result = JsonConvert.DeserializeObject <DaftarHargaKonsolidasiItem[]>(StrItem);
            List <Context.DaftarHargaKonsolidasiItem> DummyItems = dbitem.DaftarHargaKonsolidasiItem.ToList();
            List <int> ListAnuTeuDiHapus = new List <int>();

            foreach (DaftarHargaKonsolidasiItem item in result)
            {
                // edit row
                if (item.Id != 0)
                {
                    Context.DaftarHargaKonsolidasiItem dhkItem = dbitem.DaftarHargaKonsolidasiItem.Where(i => i.IdDaftarHargaKonsolidasi == dbitem.Id && i.Id == item.Id).FirstOrDefault();

                    dhkItem.Id = item.Id;
                    dhkItem.NamaDaftarHargaRute = item.NamaRuteDaftarHarga;
                    dhkItem.ListIdRute          = item.ListIdRute;
                    dhkItem.ListNamaRute        = item.ListNamaRute;
                    dhkItem.IdJenisKendaraan    = item.IdJenisKendaraan;
                    dhkItem.MinKg               = item.MinKg;
                    dhkItem.MaxKg               = item.MaxKg;
                    dhkItem.Harga               = item.Harga;
                    dhkItem.IdSatuanHarga       = item.IdSatuanHarga;
                    dhkItem.IsAsuransi          = item.IsAsuransi;
                    dhkItem.Premi               = item.Premi;
                    dhkItem.PihakPenanggung     = item.PihakPenanggung;
                    dhkItem.TipeNilaiTanggungan = item.TipeNilaiTanggungan;
                    dhkItem.NilaiTanggungan     = item.NilaiTanggungan;
                    dhkItem.Keterangan          = item.Keterangan;
                    ListAnuTeuDiHapus.Add(item.Id);
                }
                else //add row
                {
                    dbitem.DaftarHargaKonsolidasiItem.Add(new Context.DaftarHargaKonsolidasiItem()
                    {
                        NamaDaftarHargaRute = item.NamaRuteDaftarHarga,
                        ListIdRute          = item.ListIdRute,
                        ListNamaRute        = item.ListNamaRute,
                        IdJenisKendaraan    = item.IdJenisKendaraan,
                        MinKg               = item.MinKg,
                        MaxKg               = item.MaxKg,
                        Harga               = item.Harga,
                        IdSatuanHarga       = item.IdSatuanHarga,
                        IsAsuransi          = item.IsAsuransi,
                        Premi               = item.Premi,
                        PihakPenanggung     = item.PihakPenanggung,
                        TipeNilaiTanggungan = item.TipeNilaiTanggungan,
                        NilaiTanggungan     = item.NilaiTanggungan,
                        Keterangan          = item.Keterangan
                    });
                }
            }
            foreach (Context.DaftarHargaKonsolidasiItem dbhapus in DummyItems)
            {
                if (!ListAnuTeuDiHapus.Any(d => d == dbhapus.Id))
                {
                    dbitem.DaftarHargaKonsolidasiItem.Remove(dbhapus);
                }
            }
            //kondisi
            dbitem.DaftarHargaKonsolidasiKondisi.Clear();
            foreach (DaftarHargaKondisi item in listKondisi.Where(d => d.IsDelete == false))
            {
                dbitem.DaftarHargaKonsolidasiKondisi.Add(new Context.DaftarHargaKonsolidasiKondisi()
                {
                    kondisi   = item.kondisi,
                    IsInclude = item.IsInclude,
                    IsBill    = item.IsBill,
                    value     = item.value,
                    IsDefault = item.IsDefault,
                    IsKota    = item.IsKota,
                    IsTitik   = item.IsTitik,
                    ValKota   = item.ValKota,
                    ValTitik  = item.ValTitik,
                    IsDelete  = item.IsDelete,
                });
            }
            //Attachment
            dbitem.DaftarHargaKonsolidasiAttachment.Clear();
            DaftarHargaKonsolidasiAttachment[] resultAtt = JsonConvert.DeserializeObject <DaftarHargaKonsolidasiAttachment[]>(StrAttachment);
            foreach (DaftarHargaKonsolidasiAttachment item in resultAtt)
            {
                dbitem.DaftarHargaKonsolidasiAttachment.Add(new Context.DaftarHargaKonsolidasiAttachment()
                {
                    FileName  = item.FileName,
                    RFileName = item.RFileName,
                });
            }
        }
        public ActionResult Add(DaftarHargaKonsolidasi model)
        {
            //validasi kondisi
            DaftarHargaKonsolidasiItem[] result = JsonConvert.DeserializeObject <DaftarHargaKonsolidasiItem[]>(model.StrItem);
            model.listItem = result.ToList();

            DaftarHargaKonsolidasiAttachment[] resultAtt = JsonConvert.DeserializeObject <DaftarHargaKonsolidasiAttachment[]>(model.StrAttachment);
            model.listAtt = resultAtt.ToList();

            int idx = 0;

            foreach (DaftarHargaKondisi item in model.listKondisi.Where(d => d.IsDelete == false))
            {
                if (item.kondisi != "Biaya Multidrop" && item.IsDefault == true && item.IsInclude == true && item.IsBill == false && item.value == null)
                {
                    ModelState.AddModelError("listKondisi[" + idx + "].value", "Nilai harus diisi.");
                }
                if (item.kondisi == "Biaya Multidrop" && item.IsKota == true && item.ValKota == null)
                {
                    ModelState.AddModelError("listKondisi[" + idx + "].ValKota", "Nilai harus diisi.");
                }
                if (item.kondisi == "Biaya Multidrop" && item.IsTitik == true && item.ValTitik == null)
                {
                    ModelState.AddModelError("listKondisi[" + idx + "].ValTitik", "Nilai harus diisi.");
                }
                if (item.IsDefault == false)
                {
                    if (item.kondisi == "" || item.kondisi == null)
                    {
                        ModelState.AddModelError("listKondisi[" + idx + "].kondisi", "Nama kondisi harus diisi.");
                    }
                    if (item.IsInclude == true && item.IsBill == false && item.value == null)
                    {
                        ModelState.AddModelError("listKondisi[" + idx + "].value", "Nilai harus diisi.");
                    }
                }

                idx++;
            }


            if (ModelState.IsValid)
            {
                bool palid = true;
                if (RepoDHKonsolidasi.IsPeriodValid(model.PeriodStart.Value, model.PeriodEnd.Value, model.IdCust.Value))
                {
                    ModelState.AddModelError("PeriodStart", "Periode awal tidak boleh overlaping.");
                    ModelState.AddModelError("PeriodEnd", "Periode akhir tidak boleh overlaping.");
                    palid = false;
                }
                if (!palid)
                {
                    return(View("Form", model));
                }

                Context.DaftarHargaKonsolidasi dbitem = new Context.DaftarHargaKonsolidasi();
                model.setDb(dbitem);
                RepoDHKonsolidasi.save(dbitem, UserPrincipal.id);

                return(RedirectToAction("Index"));
            }


            return(View("Form", model));
        }
        public ActionResult Edit(DaftarHargaKonsolidasi model)
        {
            //validasi kondisi
            int idx = 0;

            foreach (DaftarHargaKondisi item in model.listKondisi.Where(d => d.IsDelete == false))
            {
                if (item.kondisi != "Biaya Multidrop" && item.IsDefault == true && item.IsInclude == true && item.IsBill == false && item.value == null)
                {
                    ModelState.AddModelError("listKondisi[" + idx + "].value", "Nilai harus diisi.");
                }
                if (item.kondisi == "Biaya Multidrop" && item.IsKota == true && item.ValKota == null)
                {
                    ModelState.AddModelError("listKondisi[" + idx + "].ValKota", "Nilai harus diisi.");
                }
                if (item.kondisi == "Biaya Multidrop" && item.IsTitik == true && item.ValTitik == null)
                {
                    ModelState.AddModelError("listKondisi[" + idx + "].ValTitik", "Nilai harus diisi.");
                }
                if (item.IsDefault == false)
                {
                    if (item.kondisi == "" || item.kondisi == null)
                    {
                        ModelState.AddModelError("listKondisi[" + idx + "].kondisi", "Nama kondisi harus diisi.");
                    }
                    if (item.IsInclude == true && item.IsBill == false && item.value == null)
                    {
                        ModelState.AddModelError("listKondisi[" + idx + "].value", "Nilai harus diisi.");
                    }
                }

                idx++;
            }

            if (RepoDHKonsolidasi.IsPeriodValid(model.PeriodStart.Value, model.PeriodEnd.Value, model.IdCust.Value, model.Id))
            {
                ModelState.AddModelError("PeriodStart", "Periode awal tidak boleh overlaping.");
                ModelState.AddModelError("PeriodEnd", "Periode akhir tidak boleh overlaping.");
            }

            if (ModelState.IsValid)
            {
                Context.DaftarHargaKonsolidasi dbitem = RepoDHKonsolidasi.FindByPK(model.Id);
                model.setDb(dbitem);
                DaftarHargaKonsolidasiItem[] results = JsonConvert.DeserializeObject <DaftarHargaKonsolidasiItem[]>(model.StrItem);
                List <Context.DaftarHargaKonsolidasiItem> DummyItems = dbitem.DaftarHargaKonsolidasiItem.ToList();
                List <int> ListAnuTeuDiHapus = new List <int>();
                var        query             = "";
                foreach (DaftarHargaKonsolidasiItem item in results)
                {
                    if (item.Id != 0)
                    {
                        query += "UPDATE dbo.\"DaftarHargaKonsolidasiItem\" SET \"NamaDaftarHargaRute\" = " + item.NamaRuteDaftarHarga + ", \"ListIdRute\" = " + item.ListIdRute + ", \"ListNamaRute\" = " +
                                 item.ListNamaRute + ", \"IdJenisKendaraan\" = " + item.IdJenisKendaraan + ", \"MinKg\" = " + item.MinKg + ", \"MaxKg\" = " + item.MaxKg + ", \"Harga\" = " + item.Harga +
                                 ", \"IsAsuransi\" = " + item.IsAsuransi + ", \"Premi\" = " + item.Premi + ", \"NilaiTanggungan\" = " + item.NilaiTanggungan + ", \"Keterangan\" = " + item.Keterangan +
                                 ", \"PihakPenanggung\" = " + item.PihakPenanggung + ", \"TipeNilaiTanggungan\" = " + item.TipeNilaiTanggungan + ", \"IdSatuanHarga\" = " + item.IdSatuanHarga +
                                 " WHERE \"Id\" = " + item.Id + ";";
                        ListAnuTeuDiHapus.Add(item.Id);
                    }
                    else
                    {
                        query += "INSERT INTO dbo.\"DaftarHargaKonsolidasiItem\" (\"IdDaftarHargaKonsolidasi\", \"NamaDaftarHargaRute\", \"ListIdRute\", \"ListNamaRute\", \"IdJenisKendaraan\", " +
                                 "\"MinKg\", \"MaxKg\", \"Harga\", \"IsAsuransi\", \"Premi\", \"NilaiTanggungan\", \"Keterangan\", \"PihakPenanggung\", \"TipeNilaiTanggungan\", \"IdSatuanHarga\") VALUES ( " +
                                 dbitem.Id + ", " + item.NamaRuteDaftarHarga + ", " + item.ListIdRute + ", " + item.ListNamaRute + ", " + item.IdJenisKendaraan + ", " + item.MinKg + ", " + item.MaxKg + ", " +
                                 item.Harga + ", " + item.IsAsuransi + ", " + item.Premi + ", " + item.NilaiTanggungan + ", " + item.Keterangan + ", " + item.PihakPenanggung + ", " + item.TipeNilaiTanggungan +
                                 ", " + item.IdSatuanHarga + ");";
                    }
                }
                foreach (Context.DaftarHargaKonsolidasiItem dbhapus in DummyItems)
                {
                    if (!ListAnuTeuDiHapus.Any(d => d == dbhapus.Id))
                    {
                        query += "DELETE FROM dbo.\"DaftarHargaKonsolidasiItem\" WHERE \"IdDaftarHargaKonsolidasi\" = " + dbitem.Id + ";";
                    }
                }
                RepoDHKonsolidasi.save(dbitem, UserPrincipal.id, query);

                return(RedirectToAction("Index"));
            }
            ViewBag.name = model.NamaCustomer;

            DaftarHargaKonsolidasiItem[] result = JsonConvert.DeserializeObject <DaftarHargaKonsolidasiItem[]>(model.StrItem);
            model.listItem = result.ToList();

            DaftarHargaKonsolidasiAttachment[] resultAtt = JsonConvert.DeserializeObject <DaftarHargaKonsolidasiAttachment[]>(model.StrAttachment);
            model.listAtt = resultAtt.ToList();

            return(View("Form", model));
        }
        public ActionResult Edit(SalesOrderKonsolidasi model, string btnsave)
        {
            if (ModelState.IsValid)
            {
                //cek min max
                bool isPalid = true;
                Context.DaftarHargaKonsolidasi     dbDh     = RepoDHKonsolidasi.FindByItemId(model.RuteId.Value);
                Context.DaftarHargaKonsolidasiItem dbDhItem = dbDh.DaftarHargaKonsolidasiItem.Where(d => d.Id == model.RuteId.Value).FirstOrDefault();
                if (
                    (dbDhItem.LookupCodeSatuan.Nama == model.PerhitunganDasar) || (model.PerhitunganDasar == "Tonase" && (dbDhItem.LookupCodeSatuan.Nama == "Ton" || dbDhItem.LookupCodeSatuan.Nama == "Kg"))
                    )
                {
                    if (model.PerhitunganDasar == "Tonase")
                    {
                        if (!((model.Tonase >= dbDhItem.MinKg) && (model.Tonase <= dbDhItem.MaxKg)))
                        {
                            isPalid = false;
                            ModelState.AddModelError("Tonase", "Nilai harus lebih besar dari " + dbDhItem.MinKg.ToString() + " dan lebih kecil dari " + dbDhItem.MaxKg.ToString());
                        }
                    }
                    else if (model.PerhitunganDasar == "Karton")
                    {
                        if (!((model.karton >= dbDhItem.MinKg) && (model.karton <= dbDhItem.MaxKg)))
                        {
                            isPalid = false;
                            ModelState.AddModelError("karton", "Nilai harus lebih besar dari " + dbDhItem.MinKg.ToString() + " dan lebih kecil dari " + dbDhItem.MaxKg.ToString());
                        }
                    }
                    else if (model.PerhitunganDasar == "Pallet")
                    {
                        if (!((model.Pallet >= dbDhItem.MinKg) && (model.Pallet <= dbDhItem.MaxKg)))
                        {
                            isPalid = false;
                            ModelState.AddModelError("Pallet", "Nilai harus lebih besar dari " + dbDhItem.MinKg.ToString() + " dan lebih kecil dari " + dbDhItem.MaxKg.ToString());
                        }
                    }
                    else if (model.PerhitunganDasar == "Container")
                    {
                        if (!((model.Container >= dbDhItem.MinKg) && (model.Container <= dbDhItem.MaxKg)))
                        {
                            isPalid = false;
                            ModelState.AddModelError("Container", "Nilai harus lebih besar dari " + dbDhItem.MinKg.ToString() + " dan lebih kecil dari " + dbDhItem.MaxKg.ToString());
                        }
                    }
                    else if (model.PerhitunganDasar == "m3")
                    {
                        if (!((model.m3 >= dbDhItem.MinKg) && (model.m3 <= dbDhItem.MaxKg)))
                        {
                            isPalid = false;
                            ModelState.AddModelError("m3", "Nilai harus lebih besar dari " + dbDhItem.MinKg.ToString() + " dan lebih kecil dari " + dbDhItem.MaxKg.ToString());
                        }
                    }
                }
                if (!isPalid)
                {
                    return(View("Form", model));
                }

                Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(model.SalesOrderId.Value);

                model.setDb(dbitem.SalesOrderKonsolidasi);

                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));
        }