public void SetDbHistory(Context.PenetapanDriverHistory dbitem, string user) { dbitem.IdPenetapanDriver = Id; dbitem.Driver1 = Nama1; dbitem.Driver2 = Nama2; dbitem.ModifiedBy = user; dbitem.ModifiedDate = DateTime.Now; }
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 })); }