public string GetRuteByCustomer(int idCust, DateTime tanggalMuat) { 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.DaftarHargaOnCall> dho = RepoDHO.FindAll(param.Skip, param.Take, (param.Sortings != null ? param.Sortings.ToList() : null), param.Filters); List <DaftarHargaOnCallItem> model = new List <DaftarHargaOnCallItem>(); Context.DaftarHargaOnCall dhoitem = dho.Where(d => tanggalMuat >= d.PeriodStart && tanggalMuat <= d.PeriodEnd).FirstOrDefault(); if (dho != null) { foreach (Context.DaftarHargaOnCallItem item in dhoitem.DaftarHargaOnCallItem.ToList()) { model.Add(new DaftarHargaOnCallItem(item)); } } return(new JavaScriptSerializer().Serialize(new { data = model })); }
public ActionResult Edit(int id) { Context.DaftarHargaOnCall dbitem = RepoDHO.FindByPK(id); DaftarHargaOnCall model = new DaftarHargaOnCall(dbitem); ViewBag.name = model.NamaCustomer; return(View("Form", model)); }
public DaftarHargaOnCall(Context.DaftarHargaOnCall 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(); //header 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 <DaftarHargaOnCallItem>(); foreach (Context.DaftarHargaOnCallItem item in dbitem.DaftarHargaOnCallItem.ToList()) { listItem.Add(new DaftarHargaOnCallItem(item)); } //kondisi listKondisi = new List <DaftarHargaKondisi>(); foreach (Context.DaftarHargaOnCallKondisi item in dbitem.DaftarHargaOnCallKondisi.ToList()) { listKondisi.Add(new DaftarHargaKondisi(item)); } //attachment listAtt = new List <DaftarHargaOnCallAttachment>(); foreach (Context.DaftarHargaOnCallAttachment item in dbitem.DaftarHargaOnCallAttachment.ToList()) { listAtt.Add(new DaftarHargaOnCallAttachment(item)); } }
public JsonResult IsUsed(int id, bool isImported) { bool isExistData = false; // fitur Import Daftar Harga if (isImported) { Context.DaftarHargaOnCall dbItem = RepoDHO.FindByPK(id); List <int> listId = dbItem.DaftarHargaOnCallItem.Where(i => i.IdDaftarHargaOnCall == dbItem.Id).Select(i => i.Id).ToList(); isExistData = RepoSO.FindAllOnCall().Where(a => listId.Contains(a.SalesOrderOncall.IdDaftarHargaItem.Value)).Count() > 0; } // edit & delete grid item Daftar Harga else { isExistData = RepoSO.FindAllOnCall().Where(a => a.SalesOrderOncall.IdDaftarHargaItem == id).Count() > 0; } return(this.Json(isExistData, JsonRequestBehavior.AllowGet)); }
public JsonResult Delete(int id) { bool isExistData = false; ResponeModel response = new ResponeModel(true); Context.DaftarHargaOnCall dbItem = RepoDHO.FindByPK(id); List <int> listId = dbItem.DaftarHargaOnCallItem.Where(i => i.IdDaftarHargaOnCall == dbItem.Id).Select(i => i.Id).ToList(); isExistData = RepoSO.FindAllOnCall().Where(a => listId.Contains(a.SalesOrderOncall.IdDaftarHargaItem.Value)).Count() > 0; if (!isExistData) { RepoDHO.delete(dbItem); } else { response.Success = false; response.Message = "Data sudah digunakan, Penghapusan gagal"; } return(Json(response)); }
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 <DaftarHargaOnCallItem> listItem = new List <DaftarHargaOnCallItem>(); Context.DaftarHargaOnCall DHO = RepoDHO.FindAll().Where(d => d.Id == id && d.PeriodStart == dtrDate && d.PeriodEnd == dtrDate2).FirstOrDefault(); if (DHO != null) { foreach (Context.DaftarHargaOnCallItem item in DHO.DaftarHargaOnCallItem) { listItem.Add(new DaftarHargaOnCallItem(item)); } } return(new JavaScriptSerializer().Serialize( listItem.Select(i => new { Id = i.Id, NamaRuteDaftarHarga = i.NamaRuteDaftarHarga, ListIdRute = i.ListIdRute, ListNamaRute = i.ListNamaRute, IdJenisTruck = i.IdJenisTruck, NamaJenisTruck = i.NamaJenisTruck, MinKg = i.MinKg, Harga = i.Harga, IdSatuanHarga = i.IdSatuanHarga, SatuanHarga = i.SatuanHarga, IsAsuransi = i.IsAsuransi, IsAdhoc = i.IsAdHoc, PihakPenanggung = i.PihakPenanggung, TipeNilaiTanggungan = i.TipeNilaiTanggungan, Premi = i.Premi, NilaiTanggungan = i.NilaiTanggungan, Keterangan = i.Keterangan }))); }
public decimal Harga(Context.SalesOrder dbso) { Context.DaftarHargaOnCallItem dhocItem = context.DaftarHargaOnCallItem.Where(d => d.Id == dbso.SalesOrderOncall.IdDaftarHargaItem).FirstOrDefault(); Context.DaftarHargaOnCall dhoc = context.DaftarHargaOnCall.Where(d => d.Id == dhocItem.IdDaftarHargaOnCall).FirstOrDefault(); return(dhocItem.Harga + dhoc.DaftarHargaOnCallKondisi.Where(d => d.IsInclude == true && d.IsBill == false && d.value > 0).Sum(d => d.value.Value)); }
public ActionResult Add(DaftarHargaOnCall 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++; } DaftarHargaOnCallItem[] result = JsonConvert.DeserializeObject <DaftarHargaOnCallItem[]>(model.StrItem); model.listItem = result.ToList(); DaftarHargaOnCallAttachment[] resultAtt = JsonConvert.DeserializeObject <DaftarHargaOnCallAttachment[]>(model.StrAttachment); model.listAtt = resultAtt.ToList(); if (ModelState.IsValid) { bool palid = true; if (RepoDHO.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.DaftarHargaOnCall dbitem = new Context.DaftarHargaOnCall(); model.setDb(dbitem); RepoDHO.save(dbitem); return(RedirectToAction("Index")); } return(View("Form", model)); }
public ActionResult Edit(DaftarHargaOnCall 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 (RepoDHO.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 (RepoDHO.IsUsedPrices(model.Id)) //{ // //ModelState.AddModelError("PeriodStart", "Periode awal tidak boleh overlaping."); // ViewBag.errorMsg = "Daftar Harga sudah digunakan, Proses tidak dapat dilanjutkan"; // return View("Form", model); //} if (ModelState.IsValid) { Context.DaftarHargaOnCall dbitem = RepoDHO.FindByPK(model.Id); model.setDb(dbitem); RepoDHO.save(dbitem); return(RedirectToAction("Index")); } ViewBag.name = model.NamaCustomer; DaftarHargaOnCallItem[] result = JsonConvert.DeserializeObject <DaftarHargaOnCallItem[]>(model.StrItem); model.listItem = result.ToList(); DaftarHargaOnCallAttachment[] resultAtt = JsonConvert.DeserializeObject <DaftarHargaOnCallAttachment[]>(model.StrAttachment); model.listAtt = resultAtt.ToList(); return(View("Form", model)); }
public void setDb(Context.DaftarHargaOnCall dbitem) { //header dbitem.Id = Id; dbitem.IdCust = IdCust; dbitem.PeriodStart = PeriodStart.Value; dbitem.PeriodEnd = PeriodEnd.Value; //item //dbitem.DaftarHargaOnCallItem.Clear(); DaftarHargaOnCallItem[] result = JsonConvert.DeserializeObject <DaftarHargaOnCallItem[]>(StrItem); List <Context.DaftarHargaOnCallItem> DummyItems = dbitem.DaftarHargaOnCallItem.ToList(); // edit row List <int> ListAnuTeuDiHapus = new List <int>(); foreach (DaftarHargaOnCallItem item in result) { if (item.Id != 0) { Context.DaftarHargaOnCallItem dhkItem = dbitem.DaftarHargaOnCallItem.Where(i => i.IdDaftarHargaOnCall == dbitem.Id && i.Id == item.Id).FirstOrDefault(); dhkItem.Id = item.Id; dhkItem.NamaRuteDaftarHarga = item.NamaRuteDaftarHarga; dhkItem.ListIdRute = item.ListIdRute; dhkItem.ListNamaRute = item.ListNamaRute; dhkItem.IdJenisTruck = item.IdJenisTruck; dhkItem.MinKg = item.MinKg; dhkItem.Harga = item.Harga; dhkItem.IdSatuanHarga = item.IdSatuanHarga; dhkItem.IsAsuransi = item.IsAsuransi; dhkItem.IsAdHoc = item.IsAdHoc; dhkItem.PihakPenanggung = item.PihakPenanggung; dhkItem.TipeNilaiTanggungan = item.TipeNilaiTanggungan; dhkItem.NilaiTanggungan = item.NilaiTanggungan; dhkItem.Premi = item.Premi; dhkItem.Keterangan = item.Keterangan; ListAnuTeuDiHapus.Add(item.Id); } else { dbitem.DaftarHargaOnCallItem.Add(new Context.DaftarHargaOnCallItem() { //Id = item.Id, NamaRuteDaftarHarga = item.NamaRuteDaftarHarga, ListIdRute = item.ListIdRute, ListNamaRute = item.ListNamaRute, IdJenisTruck = item.IdJenisTruck, MinKg = item.MinKg, Harga = item.Harga, IdSatuanHarga = item.IdSatuanHarga, IsAsuransi = item.IsAsuransi, IsAdHoc = item.IsAdHoc, PihakPenanggung = item.PihakPenanggung, TipeNilaiTanggungan = item.TipeNilaiTanggungan, NilaiTanggungan = item.NilaiTanggungan, Premi = item.Premi, Keterangan = item.Keterangan }); } } //hapus anu teu dipilih foreach (Context.DaftarHargaOnCallItem dbhapus in DummyItems) { if (!ListAnuTeuDiHapus.Any(d => d == dbhapus.Id)) { dbitem.DaftarHargaOnCallItem.Remove(dbhapus); } } //kondisi dbitem.DaftarHargaOnCallKondisi.Clear(); foreach (DaftarHargaKondisi item in listKondisi.Where(d => d.IsDelete == false)) { dbitem.DaftarHargaOnCallKondisi.Add(new Context.DaftarHargaOnCallKondisi() { 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.DaftarHargaOnCallAttachment.Clear(); DaftarHargaOnCallAttachment[] resultAtt = JsonConvert.DeserializeObject <DaftarHargaOnCallAttachment[]>(StrAttachment); foreach (DaftarHargaOnCallAttachment item in resultAtt) { dbitem.DaftarHargaOnCallAttachment.Add(new Context.DaftarHargaOnCallAttachment() { FileName = item.FileName, RFileName = item.RFileName, }); } }