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)); } }
public ActionResult EditOncall(SalesOrderOncall model, string btnsave) { //validasi manual bool palid = true; int urutan = 1; if (btnsave != "draft" && model.Status != "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; } if (model.Driver1Id != null) { 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); Context.SalesOrder dbsoDriver = RepoSalesOrder.FindAll().Where(d => (d.Status == "save" || d.Status == "draft planning" || d.Status == "draft konfirmasi" || d.Status == "save konfirmasi" || d.Status == "dispatched") && ( (d.SalesOrderOncallId.HasValue && (d.SalesOrderOncall.Driver1Id == model.Driver1Id || d.SalesOrderOncall.Driver2Id == model.Driver1Id)) || (d.SalesOrderPickupId.HasValue && (d.SalesOrderPickup.Driver1Id == model.Driver1Id || d.SalesOrderPickup.Driver2Id == model.Driver1Id)) || (d.SalesOrderProsesKonsolidasiId.HasValue && (d.SalesOrderProsesKonsolidasi.Driver1Id == model.Driver1Id || d.SalesOrderProsesKonsolidasi.Driver2Id == model.Driver1Id)) ) ).FirstOrDefault(); if (driver.StatusSo != "Available" && dbsoDriver != null && RepoSalesOrder.FindArea(dbsoDriver.SalesOrderOncall.IdDaftarHargaItem.Value) != "YES") { List <Context.SalesOrder> dbsoDriverList = RepoSalesOrder.FindAll().Where(d => (d.Status == "save" || d.Status == "draft planning" || d.Status == "draft konfirmasi" || d.Status == "save konfirmasi" || d.Status == "dispatched") && ( (d.SalesOrderOncallId.HasValue && (d.SalesOrderOncall.Driver1Id == model.Driver1Id || d.SalesOrderOncall.Driver2Id == model.Driver1Id)) || (d.SalesOrderPickupId.HasValue && (d.SalesOrderPickup.Driver1Id == model.Driver1Id || d.SalesOrderPickup.Driver2Id == model.Driver1Id)) || (d.SalesOrderProsesKonsolidasiId.HasValue && (d.SalesOrderProsesKonsolidasi.Driver1Id == model.Driver1Id || d.SalesOrderProsesKonsolidasi.Driver2Id == model.Driver1Id)) ) ).ToList(); urutan = dbsoDriver.urutan + 1; //SO yg sdh jalan Context.Rute rute = RepoSalesOrder.FindRute(dbsoDriver.SalesOrderOncall.IdDaftarHargaItem.Value); int waktuKerja = int.Parse(rute.WaktuKerja.ToString()); //SO yg sedang diplanning Context.SalesOrder so = RepoSalesOrder.FindByOnCall(model.SalesOrderId.Value); Context.Rute rutePlanning = null; if (so != null && so.SalesOrderOncall != null && so.SalesOrderOncall.IdDaftarHargaItem != null) { rutePlanning = RepoSalesOrder.FindRute(so.SalesOrderOncall.IdDaftarHargaItem.Value); int waktuKerjaPlanning = int.Parse(rutePlanning.WaktuKerja.ToString()); bool used_at_that_date = dbsoDriverList.Any(d => DateTime.Parse(d.SalesOrderOncall.TanggalMuat.ToString()).AddDays(waktuKerja) >= model.TanggalMuat || DateTime.Parse(d.SalesOrderOncall.TanggalMuat.ToString()) <= DateTime.Parse(model.TanggalMuat.ToString()).AddDays(waktuKerja) ); if (used_at_that_date) { ModelState.AddModelError("Driver1Id", "Driver tidak tersedia, harap pilih driver lain."); palid = false; } else if (urutan > 2 && rutePlanning.IsAreaPulang != true) { 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; dbitem.UpdatedBy = UserPrincipal.id; dbitem.urutan = urutan; 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.SalesOrderOncall, act, "Operational"); RepoSalesOrder.save(dbitem); RepoAuditrail.savePlanningHistory(dbitem); Context.so_mstr dbptnr = Reposo_mstr.FindByPK(dbitem.SalesOrderOncall.SONumber); Context.DataTruck truck = RepoDataTruck.FindByPK(model.IdDataTruck); try { dbptnr.so_vehicle = Repocode_mstr.FindByCodeName(truck.VehicleNo).id; Reposo_mstr.UpdateSoMstrVehicle(dbptnr); } catch (Exception) { } return(RedirectToAction("Index")); } else { ViewBag.kondisi = "planning"; ViewBag.name = model.SONumber; ViewBag.Title = "Planning Sales Order Oncall " + model.SONumber; ViewBag.PostData = "EditOncall"; return(View("SalesOrderOncall/FormReadOnly", model)); } }
public ActionResult EditProsesKonsolidasi(SalesOrderProsesKonsolidasi model, string btnsave) { //validasi manual bool palid = true; if (btnsave != "draft") { if (!model.IdDataTruck.HasValue) { ModelState.AddModelError("IdDataTruck", "Truk harus diisi."); palid = false; } if (!model.Driver1Id.HasValue || model.Driver1Id.Value == 0) { ModelState.AddModelError("Driver1Id", "Driver harus diisi."); palid = false; } Context.Driver item = RepoDriver.FindAll().Where(d => d.Id == model.Driver1Id.Value).FirstOrDefault(); List <Context.SalesOrder> dbso = RepoSalesOrder.FindAll().ToList(); List <Context.SettlementBatal> dbsb = RepoSettlementBatal.FindAll().Where(s => s.IsProses == false).ToList(); Driver driver = new Driver(item, dbso, dbsb); if (driver.StatusSo != "Available") { ModelState.AddModelError("Driver1Id", "Driver tidak tersedia, harap pilih driver lain."); palid = false; } } if (model.Status == "draft") { if (model.CommentUser == "" || model.CommentUser == null) { ModelState.AddModelError("CommentUser", "Comment harus diisi."); palid = false; } } Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(model.SalesOrderId.Value); if (palid) { dbitem.isReturn = false; string act = ""; if (btnsave != null && btnsave != "") { act = "Draft"; dbitem.Status = btnsave; } else { if (model.Status.ToLower() == "save") { act = "Return"; dbitem.isReturn = true; } else { act = "Submit"; dbitem.isReturn = false; } dbitem.Status = model.Status; } model.setDbOperasional(dbitem.SalesOrderProsesKonsolidasi, act, "Operational"); RepoSalesOrder.save(dbitem); RepoAuditrail.saveUpdSalesOrderProsesKonsolidasiQuery(dbitem.SalesOrderProsesKonsolidasi, UserPrincipal.id); RepoAuditrail.saveSalesOrderProsesKonsolidasiCommentQuery(dbitem.SalesOrderProsesKonsolidasi, UserPrincipal.id); return(RedirectToAction("Index")); } else { ViewBag.kondisi = "planning"; ViewBag.name = model.SONumber; ViewBag.Title = "Planning Sales Order Proses Konsolidasi " + model.SONumber; ViewBag.PostData = "EditProsesKonsolidasi"; SalesOrderProsesKonsolidasi modelsopk = new SalesOrderProsesKonsolidasi(dbitem); ViewBag.StrListSo = modelsopk.StrListSo; return(View("SalesOrderProsesKonsolidasi/FormReadOnly", model)); } }
public void setDb(Context.Driver dbitem) { dbitem.KodeDriver = KodeDriver; dbitem.KodeDriverOld = KodeDriverOld; dbitem.IdStatus = IdStatus; dbitem.TglGabung = TglGabung; dbitem.NoKtp = NoKtp; dbitem.NamaDriver = NamaDriver; dbitem.NamaPangilan = NamaPangilan; dbitem.TempatLahir = TempatLahir; dbitem.TglLahir = TglLahir; dbitem.IdJenisSim = IdJenisSim; dbitem.NoSim = NoSim; dbitem.TglBerlakuSim = TglBerlakuSim; dbitem.NoTlp = KodeTlp + '-' + NoTlp; dbitem.NoHp1 = NoHp1; dbitem.NoHp2 = NoHp2; dbitem.Alamat = Alamat; dbitem.Rt = Rt; dbitem.Rw = Rw; dbitem.IdProvinsi = IdProvinsi; dbitem.IdKabKota = IdKabKota; dbitem.IdKec = IdKec; dbitem.IdKel = IdKel; dbitem.IsSameKtp = IsSameKtp; if (IsSameKtp) { dbitem.AlamatDomisili = dbitem.Alamat; dbitem.RtDomisili = dbitem.Rt; dbitem.RwDomisili = dbitem.Rw; dbitem.IdProvinsiDomisili = dbitem.IdProvinsi; dbitem.IdKabKotaDomisili = dbitem.IdKabKota; dbitem.IdKecDomisili = dbitem.IdKec; dbitem.IdKelDomisili = dbitem.IdKel; } else { dbitem.AlamatDomisili = AlamatDomisili; dbitem.RtDomisili = RtDomisili; dbitem.RwDomisili = RwDomisili; dbitem.IdProvinsiDomisili = IdProvinsiDomisili; dbitem.IdKabKotaDomisili = IdKabKotaDomisili; dbitem.IdKecDomisili = IdKecDomisili; dbitem.IdKelDomisili = IdKelDomisili; } dbitem.Keterangan = Keterangan; dbitem.IsSms = IsSms; dbitem.Pathfoto = Pathfoto; dbitem.IdReferensiDriver = IdReferensiDriver; dbitem.IdRef = IdRef; dbitem.HubunganRef = HubunganRef; dbitem.KeteranganRef = KeteranganRef; dbitem.IsKemitraan = IsKemitraan; if (IsKemitraan) { dbitem.IsKemitraanAsli = IsKemitraanAsli; dbitem.UrlKemitraan = UrlKemitraan; } dbitem.IsJaminanKel = IsJaminanKel; if (IsJaminanKel) { dbitem.IsJaminanKelAsli = IsJaminanKelAsli; dbitem.UrlJaminanKel = UrlJaminanKel; } dbitem.IsIjazah = IsIjazah; if (IsIjazah) { dbitem.IsIjazahAsli = IsIjazahAsli; dbitem.UrlIjazah = UrlIjazah; } dbitem.IsBukuNikah = IsBukuNikah; if (IsBukuNikah) { dbitem.IsBukuNikahAsli = IsBukuNikahAsli; dbitem.UrlBukuNikah = UrlBukuNikah; } dbitem.IsSKCK = IsSKCK; if (IsSKCK) { dbitem.IsSKCKAsli = IsSKCKAsli; dbitem.UrlSKCK = UrlSKCK; } dbitem.IsDomisili = IsDomisili; if (IsDomisili) { dbitem.IsDomisiliAsli = IsDomisiliAsli; dbitem.UrlDomisili = UrlDomisili; } dbitem.IsKK = IsKK; if (IsKK) { dbitem.IsKKAsli = IsKKAsli; dbitem.UrlKK = UrlKK; } dbitem.IsKTP = IsKTP; if (IsKTP) { dbitem.IsKTPAsli = IsKTPAsli; dbitem.UrlKTP = UrlKTP; } dbitem.IsSIM = IsSIM; if (IsSIM) { dbitem.IsSIMAsli = IsSIMAsli; dbitem.UrlSIM = UrlSIM; } }
public Driver(Context.Driver dbitem, List <Context.SalesOrder> dbso, List <Context.SettlementBatal> dbsb) { if (dbitem != null) { Id = dbitem.Id; IdStatus = dbitem.IdStatus; Status = dbitem.LookupCodeStatus.Nama; KodeDriver = dbitem.KodeDriver; KodeDriverOld = dbitem.KodeDriverOld; TglGabung = dbitem.TglGabung; NoKtp = dbitem.NoKtp; NamaDriver = dbitem.NamaDriver; NamaPangilan = dbitem.NamaPangilan; TempatLahir = dbitem.TempatLahir; TglLahir = dbitem.TglLahir; IdJenisSim = dbitem.IdJenisSim; StrJenisSim = dbitem.LookupCodeJenisSim == null ? "" : dbitem.LookupCodeJenisSim.Nama; NoSim = dbitem.NoSim; TglBerlakuSim = dbitem.TglBerlakuSim; KodeTlp = !dbitem.NoTlp.Contains('-') ? "" : dbitem.NoTlp.Split('-')[0]; NoTlp = !dbitem.NoTlp.Contains('-') ? dbitem.NoTlp : dbitem.NoTlp.Split('-')[1]; NoHp1 = dbitem.NoHp1; NoHp2 = dbitem.NoHp2; Alamat = dbitem.Alamat; Rt = dbitem.Rt; Rw = dbitem.Rw; IdProvinsi = dbitem.IdProvinsi; StrProvinsi = dbitem.IdProvinsi == null ? "" : dbitem.LocProvinsi.Nama; IdKabKota = dbitem.IdKabKota; StrKabKota = dbitem.IdKabKota == null ? "" : dbitem.LocKabKota.Nama; IdKec = dbitem.IdKec; StrKec = dbitem.IdKec == null ? "" : dbitem.LocKecamatan.Nama; IdKel = dbitem.IdKel; StrKel = dbitem.IdKel == null ? "" : dbitem.LocKelurahan.Nama; IsSameKtp = dbitem.IsSameKtp; if (!IsSameKtp) { AlamatDomisili = dbitem.AlamatDomisili; RtDomisili = dbitem.RtDomisili; RwDomisili = dbitem.RwDomisili; IdProvinsiDomisili = dbitem.IdProvinsiDomisili; StrProvinsiDomisili = dbitem.IdProvinsiDomisili == null ? "" : dbitem.LocProvinsiDomisili.Nama; IdKabKotaDomisili = dbitem.IdKabKotaDomisili; StrKabKotaDomisili = dbitem.IdKabKotaDomisili == null ? "" : dbitem.LocKabKotaDomisili.Nama; IdKecDomisili = dbitem.IdKecDomisili; StrKabKotaDomisili = dbitem.IdKecDomisili == null ? "" : dbitem.LocKecamatanDomisili.Nama; IdKelDomisili = dbitem.IdKelDomisili; StrKelDomisili = dbitem.IdKelDomisili == null ? "" : dbitem.LocKelurahanDomisili.Nama; } Keterangan = dbitem.Keterangan; IsSms = dbitem.IsSms; Pathfoto = dbitem.Pathfoto; IdReferensiDriver = dbitem.IdReferensiDriver; IdRef = dbitem.IdRef; NamaRef = dbitem.DriverRef == null ? "" : dbitem.DriverRef.NamaDriver; CodeRef = dbitem.DriverRef == null ? "" : dbitem.DriverRef.KodeDriver; KTPRef = dbitem.DriverRef == null ? "" : dbitem.DriverRef.NoKtp; tlpRef = dbitem.DriverRef == null ? "" : dbitem.DriverRef.NoTlp; hpRef = dbitem.DriverRef == null ? "" : dbitem.DriverRef.NoHp1; HubunganRef = dbitem.HubunganRef; KeteranganRef = dbitem.KeteranganRef; IsKemitraan = dbitem.IsKemitraan; IsKemitraanAsli = dbitem.IsKemitraanAsli; UrlKemitraan = dbitem.UrlKemitraan; IsJaminanKel = dbitem.IsJaminanKel; IsJaminanKelAsli = dbitem.IsJaminanKelAsli; UrlJaminanKel = dbitem.UrlJaminanKel; IsIjazah = dbitem.IsIjazah; IsIjazahAsli = dbitem.IsIjazahAsli; UrlIjazah = dbitem.UrlIjazah; IsBukuNikah = dbitem.IsBukuNikah; IsBukuNikahAsli = dbitem.IsBukuNikahAsli; UrlBukuNikah = dbitem.UrlBukuNikah; IsSKCK = dbitem.IsSKCK; IsSKCKAsli = dbitem.IsSKCKAsli; UrlSKCK = dbitem.UrlSKCK; IsDomisili = dbitem.IsDomisili; IsDomisiliAsli = dbitem.IsDomisiliAsli; UrlDomisili = dbitem.UrlDomisili; IsKK = dbitem.IsKK; IsKKAsli = dbitem.IsKKAsli; UrlKK = dbitem.UrlKK; IsKTP = dbitem.IsKTP; IsKTPAsli = dbitem.IsKTPAsli; UrlKTP = dbitem.UrlKTP; IsSIM = dbitem.IsSIM; IsSIMAsli = dbitem.IsSIMAsli; UrlSIM = dbitem.UrlSIM; StatusSo = "Available"; if (dbsb.Any(d => (d.IdDriver == dbitem.Id))) { StatusSo = "Settlement Batal"; } else if (dbso != null) { if (dbso.Any(d => (d.Status == "save" || d.Status == "draft planning") && ((d.SalesOrderOncallId.HasValue ? (d.SalesOrderOncall.Driver1Id == dbitem.Id || d.SalesOrderOncall.Driver2Id == dbitem.Id) : false) || (d.SalesOrderPickupId.HasValue ? (d.SalesOrderPickup.Driver1Id == dbitem.Id || d.SalesOrderPickup.Driver2Id == dbitem.Id) : false) || (d.SalesOrderProsesKonsolidasiId.HasValue ? (d.SalesOrderProsesKonsolidasi.Driver1Id == dbitem.Id || d.SalesOrderProsesKonsolidasi.Driver2Id == dbitem.Id) : false)) || (d.SalesOrderKontrakId.HasValue ? (d.SalesOrderKontrak.SalesOrderKontrakTruck.Any(k => k.IdDriver1 == dbitem.Id || k.IdDriver2 == dbitem.Id)) : false))) { StatusSo = "Planning"; } else if (dbso.Any(d => (d.Status == "save planning" || d.Status == "draft konfirmasi") && ((d.SalesOrderOncallId.HasValue ? (d.SalesOrderOncall.Driver1Id == dbitem.Id || d.SalesOrderOncall.Driver2Id == dbitem.Id) : false) || (d.SalesOrderPickupId.HasValue ? (d.SalesOrderPickup.Driver1Id == dbitem.Id || d.SalesOrderPickup.Driver2Id == dbitem.Id) : false) || (d.SalesOrderProsesKonsolidasiId.HasValue ? (d.SalesOrderProsesKonsolidasi.Driver1Id == dbitem.Id || d.SalesOrderProsesKonsolidasi.Driver2Id == dbitem.Id) : false)) || (d.SalesOrderKontrakId.HasValue ? (d.SalesOrderKontrak.SalesOrderKontrakTruck.Any(k => k.IdDriver1 == dbitem.Id || k.IdDriver2 == dbitem.Id)) : false))) { StatusSo = "Konfirmasi"; } else if (dbso.Any(d => (d.Status == "admin uang jalan") && d.AdminUangJalan.IdDriver1 == dbitem.Id)) { StatusSo = "admin uang jalan"; } else if (dbso.Any(d => (d.Status == "save konfirmasi" || d.Status == "dispatched") && ((d.SalesOrderOncallId.HasValue ? (d.SalesOrderOncall.Driver1Id == dbitem.Id || d.SalesOrderOncall.Driver2Id == dbitem.Id) : false) || (d.SalesOrderPickupId.HasValue ? (d.SalesOrderPickup.Driver1Id == dbitem.Id || d.SalesOrderPickup.Driver2Id == dbitem.Id) : false) || (d.SalesOrderProsesKonsolidasiId.HasValue ? (d.SalesOrderProsesKonsolidasi.Driver1Id == dbitem.Id || d.SalesOrderProsesKonsolidasi.Driver2Id == dbitem.Id) : false)) || (d.SalesOrderKontrakId.HasValue ? (d.SalesOrderKontrak.SalesOrderKontrakTruck.Any(k => k.IdDriver1 == dbitem.Id || k.IdDriver2 == dbitem.Id)) : false))) { StatusSo = "Dispatched"; } } } }
public Driver(Context.Driver dbitem) { Id = dbitem.Id; IdStatus = dbitem.IdStatus; Status = dbitem.LookupCodeStatus.Nama; KodeDriver = dbitem.KodeDriver; KodeDriverOld = dbitem.KodeDriverOld; TglGabung = dbitem.TglGabung; NoKtp = dbitem.NoKtp; NamaDriver = dbitem.NamaDriver; NamaPangilan = dbitem.NamaPangilan; TempatLahir = dbitem.TempatLahir; TglLahir = dbitem.TglLahir; IdJenisSim = dbitem.IdJenisSim; StrJenisSim = dbitem.LookupCodeJenisSim == null ? "" : dbitem.LookupCodeJenisSim.Nama; NoSim = dbitem.NoSim; TglBerlakuSim = dbitem.TglBerlakuSim; KodeTlp = !dbitem.NoTlp.Contains('-') ? "" : dbitem.NoTlp.Split('-')[0]; NoTlp = !dbitem.NoTlp.Contains('-') ? dbitem.NoTlp : dbitem.NoTlp.Split('-')[1]; NoHp1 = dbitem.NoHp1; NoHp2 = dbitem.NoHp2; Alamat = dbitem.Alamat; Rt = dbitem.Rt; Rw = dbitem.Rw; IdProvinsi = dbitem.IdProvinsi; StrProvinsi = dbitem.IdProvinsi == null ? "" : dbitem.LocProvinsi.Nama; IdKabKota = dbitem.IdKabKota; StrKabKota = dbitem.IdKabKota == null ? "" : dbitem.LocKabKota.Nama; IdKec = dbitem.IdKec; StrKec = dbitem.IdKec == null ? "" : dbitem.LocKecamatan.Nama; IdKel = dbitem.IdKel; StrKel = dbitem.IdKel == null ? "" : dbitem.LocKelurahan.Nama; IsSameKtp = dbitem.IsSameKtp; if (!IsSameKtp) { AlamatDomisili = dbitem.AlamatDomisili; RtDomisili = dbitem.RtDomisili; RwDomisili = dbitem.RwDomisili; IdProvinsiDomisili = dbitem.IdProvinsiDomisili; StrProvinsiDomisili = dbitem.IdProvinsiDomisili == null ? "" : dbitem.LocProvinsiDomisili.Nama; IdKabKotaDomisili = dbitem.IdKabKotaDomisili; StrKabKotaDomisili = dbitem.IdKabKotaDomisili == null ? "" : dbitem.LocKabKotaDomisili.Nama; IdKecDomisili = dbitem.IdKecDomisili; StrKabKotaDomisili = dbitem.IdKecDomisili == null ? "" : dbitem.LocKecamatanDomisili.Nama; IdKelDomisili = dbitem.IdKelDomisili; StrKelDomisili = dbitem.IdKelDomisili == null ? "" : dbitem.LocKelurahanDomisili.Nama; } Keterangan = dbitem.Keterangan; IsSms = dbitem.IsSms; Pathfoto = dbitem.Pathfoto; IdReferensiDriver = dbitem.IdReferensiDriver; IdRef = dbitem.IdRef; NamaRef = dbitem.DriverRef == null ? "" : dbitem.DriverRef.NamaDriver; CodeRef = dbitem.DriverRef == null ? "" : dbitem.DriverRef.KodeDriver; KTPRef = dbitem.DriverRef == null ? "" : dbitem.DriverRef.NoKtp; tlpRef = dbitem.DriverRef == null ? "" : dbitem.DriverRef.NoTlp; hpRef = dbitem.DriverRef == null ? "" : dbitem.DriverRef.NoHp1; HubunganRef = dbitem.HubunganRef; KeteranganRef = dbitem.KeteranganRef; IsKemitraan = dbitem.IsKemitraan; IsKemitraanAsli = dbitem.IsKemitraanAsli; UrlKemitraan = dbitem.UrlKemitraan; IsJaminanKel = dbitem.IsJaminanKel; IsJaminanKelAsli = dbitem.IsJaminanKelAsli; UrlJaminanKel = dbitem.UrlJaminanKel; IsIjazah = dbitem.IsIjazah; IsIjazahAsli = dbitem.IsIjazahAsli; UrlIjazah = dbitem.UrlIjazah; IsBukuNikah = dbitem.IsBukuNikah; IsBukuNikahAsli = dbitem.IsBukuNikahAsli; UrlBukuNikah = dbitem.UrlBukuNikah; IsSKCK = dbitem.IsSKCK; IsSKCKAsli = dbitem.IsSKCKAsli; UrlSKCK = dbitem.UrlSKCK; IsDomisili = dbitem.IsDomisili; IsDomisiliAsli = dbitem.IsDomisiliAsli; UrlDomisili = dbitem.UrlDomisili; IsKK = dbitem.IsKK; IsKKAsli = dbitem.IsKKAsli; UrlKK = dbitem.UrlKK; IsKTP = dbitem.IsKTP; IsKTPAsli = dbitem.IsKTPAsli; UrlKTP = dbitem.UrlKTP; IsSIM = dbitem.IsSIM; IsSIMAsli = dbitem.IsSIMAsli; UrlSIM = dbitem.UrlSIM; }
public ActionResult Add(PenetapanDriver model) { if (ModelState.IsValid) { bool isPalid = true; if (RepoPenetapanDriver.IsExist(model.IdDataTruck.Value)) { isPalid = false; ModelState.AddModelError("IdDataTruck", "Data truck sudah digunakan."); } if (RepoPenetapanDriver.isExistDriver(model.IdDriver1.Value, 0)) { isPalid = false; ModelState.AddModelError("idDriver1", "Driver sudah digunakan."); } if (model.IdDriver2.HasValue) { if (RepoPenetapanDriver.isExistDriver(model.IdDriver2.Value, 0)) { isPalid = false; ModelState.AddModelError("IdDriver2", "Driver sudah digunakan."); } if (model.IdDriver1 == model.IdDriver2) { isPalid = false; ModelState.AddModelError("IdDriver1", "Driver tidak boleh sama."); ModelState.AddModelError("IdDriver2", "Driver tidak boleh sama."); } if (model.IdDitetapkanOleh2 == null) { isPalid = false; ModelState.AddModelError("IdDitetapkanOleh2", "Penetap Driver 2 Belum Ditentukan."); } } if (model.IdDitetapkanOleh1 == null) { isPalid = false; ModelState.AddModelError("IdDitetapkanOleh1", "Penetap Driver 1 Belum Ditentukan."); } if (!isPalid) { return(View("Form", model)); } Context.PenetapanDriver dbitem = new Context.PenetapanDriver(); Context.PenetapanDriverHistory dbitemHistory = new Context.PenetapanDriverHistory(); //history model.SetDb(dbitem, UserPrincipal.firstname + ' ' + UserPrincipal.lastname); model.SetDbHistory(dbitemHistory, UserPrincipal.firstname + " " + UserPrincipal.lastname); dbitemHistory.CreatedBy = UserPrincipal.firstname + " " + UserPrincipal.lastname; dbitemHistory.CreatedDate = DateTime.Now; dbitem.PenetapanDriverHistory.Add(dbitemHistory); //history driver Context.DataTruck dbtruck = RepoTruck.FindByPK(model.IdDataTruck.Value); Context.Driver dbdriver1 = RepoDriver.FindByPK(model.IdDriver1.Value); Context.DriverTruckHistory dbdriverHistory1 = new Context.DriverTruckHistory(); dbdriver1.NoHp1 = model.NoHp1Driver1; dbdriver1.NoHp2 = model.NoHp2Driver1; dbdriverHistory1.Tanggal = DateTime.Now; dbdriverHistory1.Nopol = dbtruck.VehicleNo; dbdriverHistory1.Type = model.JenisTruck; dbdriver1.DriverTruckHistory.Add(dbdriverHistory1); RepoDriver.save(dbdriver1); string query = "UPDATE dbo.\"Driver\" SET \"NoHp1\" = " + dbdriver1.NoHp1 + ", \"NoHp2\" = " + dbdriver1.NoHp2 + " WHERE \"Id\" = " + dbdriver1.Id + ";INSERT INTO dbo.\"DriverTruckHistory\" (\"IdDriver\", " + "\"Tanggal\", \"Type\", \"Nopol\") VALUES (" + dbdriverHistory1.IdDriver + ", " + dbdriverHistory1.Tanggal + ", " + dbdriverHistory1.Type + ", " + dbdriverHistory1.Nopol + ");"; RepoAuditrail.SetAuditTrail(query, "Penetapan Driver", "Add", UserPrincipal.id); if (model.IdDriver2.HasValue) { Context.Driver dbdriver2 = RepoDriver.FindByPK(model.IdDriver2.Value); Context.DriverTruckHistory dbdriverHistory2 = new Context.DriverTruckHistory(); dbdriver2.NoHp1 = model.NoHp1Driver2; dbdriver2.NoHp2 = model.NoHp2Driver2; dbdriverHistory2.Tanggal = DateTime.Now; dbdriverHistory2.Nopol = dbtruck.VehicleNo; dbdriverHistory2.Type = model.JenisTruck; dbdriver2.DriverTruckHistory.Add(dbdriverHistory2); RepoDriver.save(dbdriver2); query = "UPDATE dbo.\"Driver\" SET \"NoHp1\" = " + dbdriver2.NoHp1 + ", \"NoHp2\" = " + dbdriver2.NoHp2 + " WHERE \"Id\" = " + dbdriver2.Id + ";INSERT INTO dbo.\"DriverTruckHistory\" ( " + "\"IdDriver\", \"Tanggal\", \"Type\", \"Nopol\") VALUES (" + dbdriverHistory2.IdDriver + ", " + dbdriverHistory2.Tanggal + ", " + dbdriverHistory2.Type + ", " + dbdriverHistory2.Nopol + ");"; RepoAuditrail.SetAuditTrail(query, "Penetapan Driver", "Add", UserPrincipal.id); } RepoPenetapanDriver.save(dbitem); return(RedirectToAction("Index")); } return(View("Form", model)); }
public string Upload(IEnumerable <HttpPostedFileBase> filesPenetapanDriver) { ResponeModel response = new ResponeModel(); if (filesPenetapanDriver != null) { foreach (var file in filesPenetapanDriver) { try { using (var package = new ExcelPackage(file.InputStream)) { var currentSheet = package.Workbook.Worksheets; var workSheet = currentSheet.First(); var noOfCol = workSheet.Dimension.End.Column; var noOfRow = workSheet.Dimension.End.Row; for (int rowIterator = 2; rowIterator <= noOfRow; rowIterator++) { if (workSheet.Cells[rowIterator, 1].Value != null && workSheet.Cells[rowIterator, 2].Value != null && RepoTruck.FindByName(workSheet.Cells[rowIterator, 1].Value.ToString()) != null) { int id = 0; int resId; if (workSheet.Cells[rowIterator, 10].Value != null) { if (int.TryParse(workSheet.Cells[rowIterator, 10].Value.ToString(), out resId)) { id = resId; } } Context.PenetapanDriver db = new Context.PenetapanDriver(); try { if (id != 0) { db = RepoPenetapanDriver.FindByPK(id); } Context.Driver dr1 = RepoDriver.FindByCode(workSheet.Cells[rowIterator, 2].Value.ToString()); Context.Driver dr2 = workSheet.Cells[rowIterator, 6].Value == null ? null : RepoDriver.FindByCode(workSheet.Cells[rowIterator, 6].Value.ToString()); db.IdDataTruck = RepoTruck.FindByName(workSheet.Cells[rowIterator, 1].Value.ToString()).Id; if (id == 0 && RepoPenetapanDriver.IsExist(db.IdDataTruck.Value)) { continue; } if (dr1 != null) { if (RepoPenetapanDriver.isExistDriver(dr1.Id, id)) { continue; } } if (dr2 != null) { if (RepoPenetapanDriver.isExistDriver(dr2.Id, id)) { continue; } } if (dr1 != null && dr2 != null) { if (dr2.Id.Equals(dr1.Id)) { continue; } } db.IdDriver1 = dr1.Id; db.NoHp1Driver1 = workSheet.Cells[rowIterator, 3].Value == null ? dr1.NoHp1 : workSheet.Cells[rowIterator, 3].Value.ToString(); db.NoHp2Driver1 = workSheet.Cells[rowIterator, 4].Value == null ? dr1.NoHp2 : workSheet.Cells[rowIterator, 4].Value.ToString(); db.DitetapkanOleh1 = workSheet.Cells[rowIterator, 5].Value == null ? null : workSheet.Cells[rowIterator, 5].Value.ToString(); if (dr2 != null) { db.IdDriver2 = dr2.Id; db.NoHp1Driver2 = workSheet.Cells[rowIterator, 7].Value == null ? dr2.NoHp1 : workSheet.Cells[rowIterator, 7].Value.ToString(); db.NoHp2Driver2 = workSheet.Cells[rowIterator, 8].Value == null ? dr2.NoHp2 : workSheet.Cells[rowIterator, 8].Value.ToString(); db.DitetapkanOleh2 = workSheet.Cells[rowIterator, 9].Value == null ? null : workSheet.Cells[rowIterator, 9].Value.ToString(); dr2.NoHp1 = db.NoHp1Driver2; dr2.NoHp2 = db.NoHp2Driver2; } db.ModifiedBy = UserPrincipal.username; db.ModifiedDate = DateTime.Now; dr1.NoHp1 = db.NoHp1Driver1; dr1.NoHp2 = db.NoHp2Driver1; RepoPenetapanDriver.save(db); int resultId = db.Id; //save penetapan driver history Context.PenetapanDriverHistory dbItemHistory = new Context.PenetapanDriverHistory(); Context.PenetapanDriver pd = RepoPenetapanDriver.FindByPK(resultId); dbItemHistory.IdPenetapanDriver = resultId; dbItemHistory.Driver1 = dr1.NamaDriver; if (dr2 != null) { dbItemHistory.Driver2 = dr2.NamaDriver; } dbItemHistory.CreatedBy = UserPrincipal.firstname + " " + UserPrincipal.lastname; dbItemHistory.ModifiedBy = UserPrincipal.firstname + " " + UserPrincipal.lastname; dbItemHistory.ModifiedDate = DateTime.Now; pd.PenetapanDriverHistory.Add(dbItemHistory); //history driver Context.DriverTruckHistory dbdriverHistory1 = new Context.DriverTruckHistory(); Context.DriverTruckHistory dbdriverHistory2 = new Context.DriverTruckHistory(); Context.DataTruck dbtruck = RepoTruck.FindByPK(db.IdDataTruck.Value); dbdriverHistory1.Tanggal = DateTime.Now; dbdriverHistory1.Nopol = dbtruck.VehicleNo; dbdriverHistory1.Type = dbtruck.JenisTrucks.StrJenisTruck; dbdriverHistory2.Tanggal = DateTime.Now; dbdriverHistory2.Nopol = dbtruck.VehicleNo; dbdriverHistory2.Type = dbtruck.JenisTrucks.StrJenisTruck; dr1.DriverTruckHistory.Add(dbdriverHistory1); RepoDriver.save(dr1); string query = "UPDATE dbo.\"Driver\" SET \"NoHp1\" = " + dr1.NoHp1 + ", \"NoHp2\" = " + dr1.NoHp2 + " WHERE \"Id\" = " + dr1.Id + ";INSERT INTO dbo.\"DriverTruckHistory\" ( " + "\"IdDriver\", \"Tanggal\", \"Type\", \"Nopol\") VALUES (" + dbdriverHistory1.IdDriver + ", " + dbdriverHistory1.Tanggal + ", " + dbdriverHistory1.Type + ", " + dbdriverHistory1.Nopol + ");"; RepoAuditrail.SetAuditTrail(query, "Penetapan Driver", "Import", UserPrincipal.id); if (dr2 != null) { dr2.NoHp1 = db.NoHp1Driver2; dr2.NoHp2 = db.NoHp2Driver2; dr2.DriverTruckHistory.Add(dbdriverHistory2); RepoDriver.save(dr2); query = "UPDATE dbo.\"Driver\" SET \"NoHp1\" = " + dr2.NoHp1 + ", \"NoHp2\" = " + dr2.NoHp2 + " WHERE \"Id\" = " + dr2.Id + ";INSERT INTO dbo.\"DriverTruckHistory\" ( " + "\"IdDriver\", \"Tanggal\", \"Type\", \"Nopol\") VALUES (" + dbdriverHistory2.IdDriver + ", " + dbdriverHistory2.Tanggal + ", " + dbdriverHistory2.Type + ", " + dbdriverHistory2.Nopol + ");"; RepoAuditrail.SetAuditTrail(query, "Penetapan Driver", "Import", UserPrincipal.id); } RepoPenetapanDriver.save(pd); } catch (Exception) { } } } } response.Success = true; } catch (Exception e) { response.Success = false; response.Message = e.Message.ToString(); } } } return(new JavaScriptSerializer().Serialize(new { Response = response })); }