示例#1
0
    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);
        }
    }
示例#2
0
    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);
        }
    }