public string UploadATM(IEnumerable <HttpPostedFileBase> filesAtm) { ResponeModel response = new ResponeModel(); //algoritma if (filesAtm != null) { foreach (var file in filesAtm) { 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 && workSheet.Cells[rowIterator, 3].Value != null && workSheet.Cells[rowIterator, 4].Value != null && workSheet.Cells[rowIterator, 5].Value != null) { int id = 0; int resId; if (workSheet.Cells[rowIterator, 6].Value != null) { if (int.TryParse(workSheet.Cells[rowIterator, 6].Value.ToString(), out resId)) { id = resId; } } //cara gancang ngarah teu kudu aya pengecekan tiap field Context.Atm dbitem = new Context.Atm(); try { if (id != 0) { dbitem = RepoAtm.FindByPK(id); } dbitem.NoKartu = workSheet.Cells[rowIterator, 1].Value.ToString(); dbitem.IdBank = RepoLookup.FindByName(workSheet.Cells[rowIterator, 2].Value.ToString()).Id; dbitem.NoRekening = workSheet.Cells[rowIterator, 3].Value.ToString(); dbitem.AtasNama = workSheet.Cells[rowIterator, 4].Value.ToString(); dbitem.IdDriver = RepoDriver.FindByCode(workSheet.Cells[rowIterator, 5].Value.ToString()).Id; RepoAtm.save(dbitem, UserPrincipal.id); } catch (Exception) { } } } } response.Success = true; } catch (Exception e) { response.Success = false; response.Message = e.Message.ToString(); } } } return(new JavaScriptSerializer().Serialize(new { Response = response })); }
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 })); }