protected void ButtonView_Click(object sender, EventArgs e) { try { PanelViewData.Visible = true; if (FileUploadMaintenance.HasFile) { Server.ScriptTimeout = 1000000; PenggunaLogin penggunaLogin = (PenggunaLogin)Session["PenggunaLogin"]; string lokasiFile = Server.MapPath("/file_excel/Maintenance/Import/"); if (!Directory.Exists(lokasiFile)) { Directory.CreateDirectory(lokasiFile); } lokasiFile += "Import KodeKombinasiProduk" + DateTime.Now.ToString("d MMMM yyyy hh.mm.ss") + ".xls"; FileUploadMaintenance.SaveAs(lokasiFile); if (File.Exists(lokasiFile)) { bool valid = true; string Message = string.Empty; Workbook book = Workbook.Load(lokasiFile); Worksheet sheet = book.Worksheets[0]; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBKombinasiProduk[] daftarKombinasiProduk = db.TBKombinasiProduks.ToArray(); LiteralViewData.Text = string.Empty; for (int rowIndex = sheet.Cells.FirstRowIndex + 1; rowIndex <= sheet.Cells.LastRowIndex; rowIndex++) { LiteralViewData.Text += "<tr>"; LiteralViewData.Text += "<td>" + rowIndex + "</td>"; Row row = sheet.Cells.GetRow(rowIndex); Cell cellLama = row.GetCell(1); Cell cellBaru = row.GetCell(2); TBKombinasiProduk kombinasiProdukLama = daftarKombinasiProduk.FirstOrDefault(data => data.KodeKombinasiProduk == cellLama.StringValue.Trim()); TBKombinasiProduk kombinasiProdukBaru = daftarKombinasiProduk.FirstOrDefault(data => data.KodeKombinasiProduk == cellBaru.StringValue.Trim()); if (cellLama.IsEmpty) { Message = "Kode wajib diisi (Baris ke " + (rowIndex + 1).ToString() + ")"; valid = false; break; } else { if (kombinasiProdukLama == null) { LiteralViewData.Text += "<td class='danger'>" + cellLama.StringValue.Trim() + "<br />NOT FOUND!!</td>"; valid = false; } else { if (kombinasiProdukLama != null && kombinasiProdukBaru != null) { if (kombinasiProdukLama.TBProduk != kombinasiProdukBaru.TBProduk) { LiteralViewData.Text += "<td class='warning'>"; } else { LiteralViewData.Text += "<td>"; } } else { LiteralViewData.Text += "<td>"; } LiteralViewData.Text += kombinasiProdukLama.KodeKombinasiProduk + "<br />" + kombinasiProdukLama.Nama; LiteralViewData.Text += "</td>"; } if (kombinasiProdukBaru == null) { LiteralViewData.Text += "<td class='danger'>" + cellBaru.StringValue.Trim() + "<br />NOT FOUND!!</td>"; valid = false; } else { if (kombinasiProdukLama != null && kombinasiProdukBaru != null) { if (kombinasiProdukLama.TBProduk != kombinasiProdukBaru.TBProduk) { LiteralViewData.Text += "<td class='warning'>"; } else { LiteralViewData.Text += "<td>"; } } else { LiteralViewData.Text += "<td>"; } LiteralViewData.Text += kombinasiProdukBaru.KodeKombinasiProduk + "<br />" + kombinasiProdukBaru.Nama; LiteralViewData.Text += "</td>"; } } LiteralViewData.Text += "</tr>"; } if (valid) { ButtonUpload.Enabled = true; } else { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Terdapat kode yang tidak ada di sistem"); } } } } } catch (Exception ex) { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, ex.Message); } }
protected void ButtonUpload_Click(object sender, EventArgs e) { try { if (FileUploadMaintenance.HasFile) { Server.ScriptTimeout = 1000000; PenggunaLogin penggunaLogin = (PenggunaLogin)Session["PenggunaLogin"]; string lokasiFile = Server.MapPath("/file_excel/Maintenance/Import/"); if (!Directory.Exists(lokasiFile)) { Directory.CreateDirectory(lokasiFile); } lokasiFile += "Import KodeKombinasiProduk" + DateTime.Now.ToString("d MMMM yyyy hh.mm.ss") + ".xls"; FileUploadMaintenance.SaveAs(lokasiFile); if (File.Exists(lokasiFile)) { bool valid = true; string Message = string.Empty; Workbook book = Workbook.Load(lokasiFile); Worksheet sheet = book.Worksheets[0]; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBKombinasiProduk[] daftarKombinasiProduk = db.TBKombinasiProduks.ToArray(); for (int rowIndex = sheet.Cells.FirstRowIndex + 1; rowIndex <= sheet.Cells.LastRowIndex; rowIndex++) { Row row = sheet.Cells.GetRow(rowIndex); for (int colIndex = 0; colIndex <= 2; colIndex++) { Cell cell = row.GetCell(colIndex); if (colIndex == 1 || colIndex == 2) { if (cell.IsEmpty) { Message = "Kode wajib diisi (Baris ke " + (rowIndex + 1).ToString() + ")"; valid = false; break; } else if (daftarKombinasiProduk.FirstOrDefault(data => data.KodeKombinasiProduk == cell.StringValue.Trim()) == null) { Message = "Kode " + cell.StringValue + " tidak ada dalam sistem (Baris ke " + (rowIndex + 1).ToString() + ")"; valid = false; break; } } } if (valid == false) { break; } } if (valid) { for (int rowIndex = sheet.Cells.FirstRowIndex + 1; rowIndex <= sheet.Cells.LastRowIndex; rowIndex++) { Row row = sheet.Cells.GetRow(rowIndex); UpdateKodeKombinasiProduk(db, row.GetCell(1).StringValue, row.GetCell(2).StringValue); } db.SubmitChanges(); LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Success, "Migrasi Kode Berhasil"); } else { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, Message); } } } } } catch (Exception ex) { LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, ex.Message); } }