private void LoadData() { try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { JenisPembayaran_Class ClassJenisPembayaran = new JenisPembayaran_Class(db); RepeaterJenisPembayaran.DataSource = ClassJenisPembayaran.Data().Where(item => item.IDJenisPembayaran != 1 && item.IDJenisPembayaran != 2); RepeaterJenisPembayaran.DataBind(); } } catch (Exception ex) { AlertMessage_Class.ShowException(this, ex, Request.Url.PathAndQuery); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { MultiViewTransaksi.SetActiveView(ViewTransaksi); using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TextBoxTanggalAwal.Text = Pengaturan.HariIni()[0].ToFormatDateMedium(); TextBoxTanggalAkhir.Text = Pengaturan.HariIni()[1].ToFormatDateMedium(); JenisPembayaran_Class JenisPembayaran_Class = new JenisPembayaran_Class(db); DropDownListJenisPembayaran.DataSource = JenisPembayaran_Class.Data(); DropDownListJenisPembayaran.DataTextField = "Nama"; DropDownListJenisPembayaran.DataValueField = "IDJenisPembayaran"; DropDownListJenisPembayaran.DataBind(); } LoadData(); } }
private void LoadDataCetakLaporan(DateTime tanggalAwal, DateTime tanggalAkhir) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; tanggalAwal = tanggalAwal.Date; tanggalAkhir = tanggalAkhir.Date; LabelPrintNamaStore.Text = Pengguna.Store; LabelPrintNamaLokasi.Text = Pengguna.Tempat; LabelPrintTanggal.Text = Pengaturan.FormatTanggal(DateTime.Now); if (tanggalAwal == tanggalAkhir) { LabelPrintTanggalLaporan.Text = Pengaturan.FormatTanggalRingkas(tanggalAwal); } else { LabelPrintTanggalLaporan.Text = Pengaturan.FormatTanggalRingkas(tanggalAwal) + " - " + Pengaturan.FormatTanggalRingkas(tanggalAkhir); } using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { #region PENCARIAN DATA TBTransaksi[] TransaksiKeseluruhan; TBTransaksiDetail[] TransaksiDetail; TBTransaksiJenisPembayaran[] TransaksiJenisPembayaran; TBTransaksiJenisPembayaran[] TransaksiPembayaranAwaitingPayment; //TRANSAKSI PEMBAYARAN TransaksiJenisPembayaran = db.TBTransaksiJenisPembayarans .Where(item => item.TBTransaksi.IDJenisTransaksi == 1 && //1 : POINT OF SALES item.TBTransaksi.IDTempat == Pengguna.IDTempat && item.TBTransaksi.TanggalOperasional.Value.Date >= tanggalAwal && item.TBTransaksi.TanggalOperasional.Value.Date <= tanggalAkhir && item.TBTransaksi.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete) .ToArray(); //TRANSAKSI PEMBAYARAN AWAITING PAYMENT TransaksiPembayaranAwaitingPayment = db.TBTransaksiJenisPembayarans .Where(item => item.TBTransaksi.IDJenisTransaksi == 1 && //1 : POINT OF SALES item.TBTransaksi.IDTempat == Pengguna.IDTempat && item.Tanggal.Value.Date >= tanggalAwal && item.Tanggal.Value.Date <= tanggalAkhir && item.TBTransaksi.IDStatusTransaksi != (int)EnumStatusTransaksi.Canceled) .ToArray(); //TRANSAKSI KESELURUHAN TransaksiKeseluruhan = db.TBTransaksis .Where(item => item.IDJenisTransaksi == 1 && //1 : POINT OF SALES item.IDTempat == Pengguna.IDTempat && item.TanggalOperasional.Value >= tanggalAwal && item.TanggalOperasional.Value <= tanggalAkhir) .ToArray(); //DETAIL TRANSAKSI TransaksiDetail = db.TBTransaksiDetails .Where(item => item.TBTransaksi.IDJenisTransaksi == 1 && //1 : POINT OF SALES item.TBTransaksi.IDTempat == Pengguna.IDTempat && item.TBTransaksi.TanggalOperasional.Value >= tanggalAwal && item.TBTransaksi.TanggalOperasional.Value <= tanggalAkhir && item.TBTransaksi.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete) .ToArray(); if (DropDownListStatusCetak.SelectedValue == "-1") { //OPERATOR LabelStatusLaporan.Text = "Laporan Tutup Kasir " + Pengguna.NamaLengkap; //TRANSAKSI PEMBAYARAN TransaksiJenisPembayaran = TransaksiJenisPembayaran .Where(item => item.IDPengguna == Pengguna.IDPengguna) .ToArray(); //TRANSAKSI PEMBAYARAN AWAITING PAYMENT TransaksiPembayaranAwaitingPayment = TransaksiPembayaranAwaitingPayment .Where(item => item.IDPengguna == Pengguna.IDPengguna) .ToArray(); //TRANSAKSI KESELURUHAN TransaksiKeseluruhan = TransaksiKeseluruhan .Where(item => item.IDPenggunaPembayaran == Pengguna.IDPengguna) .ToArray(); //DETAIL TRANSAKSI TransaksiDetail = TransaksiDetail .Where(item => item.TBTransaksi.IDPenggunaPembayaran == Pengguna.IDPengguna) .ToArray(); } else { LabelStatusLaporan.Text = "Laporan Tutup Kasir Keseluruhan"; } //TRANSAKSI COMPLETE var TransaksiComplete = TransaksiKeseluruhan .Where(item => item.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete).ToArray(); #endregion JenisPembayaran_Class ClassJenisPembayaran = new JenisPembayaran_Class(db); var ListJenisPembayaran = ClassJenisPembayaran.Data(); #region JENIS PEMBAYARAN Dictionary <string, decimal> ListPembayaranLainnya = new Dictionary <string, decimal>(); foreach (var item in ListJenisPembayaran) { var Pembayaran = TransaksiJenisPembayaran .Where(item2 => item2.IDJenisPembayaran == item.IDJenisPembayaran); if (Pembayaran.Count() > 0) { ListPembayaranLainnya.Add(item.Nama.ToUpper(), Pembayaran.Sum(x => x.Total.Value)); } } RepeaterTransaksiPembayaranLainnya.DataSource = ListPembayaranLainnya; RepeaterTransaksiPembayaranLainnya.DataBind(); LabelTotalJenisPembayaran.Text = Pengaturan.FormatHarga(ListPembayaranLainnya.Sum(item => item.Value)); #endregion #region PEMBAYARAN AWAITING PAYMENT Dictionary <string, decimal> ListPembayaranAwaitingPayment = new Dictionary <string, decimal>(); Dictionary <string, decimal> ListCashDrawer = new Dictionary <string, decimal>(); foreach (var item in ListJenisPembayaran) { var Pembayaran = TransaksiJenisPembayaran .Where(item2 => item2.IDJenisPembayaran == item.IDJenisPembayaran); var AwaitingPayment = TransaksiPembayaranAwaitingPayment .Where(item2 => item2.IDJenisPembayaran == item.IDJenisPembayaran); if (AwaitingPayment.Count() > 0) { decimal TotalPembayaran = 0; decimal TotalAwaitingPayment; if (Pembayaran.Count() > 0) { TotalPembayaran = Pembayaran.Sum(x => x.Total.Value); } TotalAwaitingPayment = AwaitingPayment.Sum(x => x.Total.Value); if ((TotalAwaitingPayment - TotalPembayaran) > 0) { ListPembayaranAwaitingPayment.Add(item.Nama.ToUpper(), (TotalAwaitingPayment - TotalPembayaran)); } ListCashDrawer.Add(item.Nama.ToUpper(), TotalAwaitingPayment); } } RepeaterPembayaranAwaitingPayment.DataSource = ListPembayaranAwaitingPayment; RepeaterPembayaranAwaitingPayment.DataBind(); RepeaterCashDrawer.DataSource = ListCashDrawer; RepeaterCashDrawer.DataBind(); LabelTotalJenisPembayaranAwaitingPayment.Text = Pengaturan.FormatHarga(ListPembayaranAwaitingPayment.Sum(item => item.Value)); LabelTotalCashDrawer.Text = Pengaturan.FormatHarga(ListCashDrawer.Sum(item => item.Value)); PanelPembayaranAwaitingPayment.Visible = ListPembayaranAwaitingPayment.Count() > 0; PanelCashDrawer.Visible = ListCashDrawer.Count() > 0; #endregion #region TRANSAKSI SELAIN COMPLETE List <dynamic> TransaksiStatusLainnya = new List <dynamic>(); foreach (var item in db.TBStatusTransaksis.Where(item2 => item2.IDStatusTransaksi != 5).OrderBy(item2 => item2.Urutan).ToArray()) { var _data = TransaksiKeseluruhan .Where(item2 => item2.IDStatusTransaksi == item.IDStatusTransaksi); if (_data.Count() > 0) { TransaksiStatusLainnya.Add(new { Nama = item.Nama.ToUpper(), Jumlah = _data.Count(), Total = _data.Sum(x => x.GrandTotal) }); } } RepeaterTransaksiStatusLainnya.DataSource = TransaksiStatusLainnya; RepeaterTransaksiStatusLainnya.DataBind(); #endregion //#region KATEGORI PRODUK //var DataKategori = TransaksiDetail // .GroupBy(item => item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count == 0 ? "" : item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count == 1 ? item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Skip(1).FirstOrDefault().TBKategoriProduk.Nama) // .Select(item => new // { // Key = item.Key, // Quantity = item.Sum(item2 => item2.JumlahProduk) ?? 0 // }); //RepeaterPenjualanKategori.DataSource = DataKategori.OrderBy(item => item.Key); //RepeaterPenjualanKategori.DataBind(); //LabelTotalPenjualanKategori.Text = Pengaturan.FormatHarga(DataKategori.Sum(item => item.Quantity)); //#endregion #region PENJUALAN PRODUK var DataProduk = TransaksiDetail .GroupBy(item => item.TBKombinasiProduk.Nama) .Select(item => new { Key = item.Key, Quantity = item.Sum(item2 => item2.Quantity) }); RepeaterPenjualanProduk.DataSource = DataProduk.OrderBy(item => item.Key); RepeaterPenjualanProduk.DataBind(); LabelTotalPenjualanProduk.Text = Pengaturan.FormatHarga(DataProduk.Sum(item => item.Quantity)); LabelJumlahProduk.Text = LabelTotalPenjualanProduk.Text; #endregion var GrandTotal = TransaksiComplete.Sum(item => item.GrandTotal); var PotonganTransaksi = TransaksiComplete.Sum(item => item.PotonganTransaksi); var TotalPotonganHargaJualDetail = TransaksiComplete.Sum(item => item.TotalPotonganHargaJualDetail); var Discount = PotonganTransaksi + TotalPotonganHargaJualDetail; var SebelumDiscount = GrandTotal + Discount; LabelSebelumDiscount.Text = Pengaturan.FormatHarga(SebelumDiscount); LabelDiscount.Text = Pengaturan.FormatHarga(Discount); LabelGrandTotal.Text = Pengaturan.FormatHarga(GrandTotal); LabelJumlahTransaksi.Text = Pengaturan.FormatHarga(TransaksiComplete.Count()); LabelDiscountTransaksi.Text = Pengaturan.FormatHarga(PotonganTransaksi); LabelDiscountProduk.Text = Pengaturan.FormatHarga(TotalPotonganHargaJualDetail); #region Addictea //TBPerpindahanStokProduk[] perpindahanStokProduk; //if (DropDownListStatusCetak.SelectedValue == "-1") // perpindahanStokProduk = db.TBPerpindahanStokProduks.Where(item => item.IDPengguna == Pengguna.IDPengguna).ToArray(); //else // perpindahanStokProduk = db.TBPerpindahanStokProduks.ToArray(); //var stok = db.TBAtributProduks.AsEnumerable().Select(itemAtribut => new //{ // NamaProduk = itemAtribut.Nama, // Atribut = db.TBStokProduks.AsEnumerable().Where(itemStok => itemStok.TBKombinasiProduk.IDAtributProduk == itemAtribut.IDAtributProduk && itemStok.IDTempat == Pengguna.IDTempat).Select(data => new // { // Nama = data.TBKombinasiProduk.TBProduk.Nama, // Restok = perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 30 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Count() == 0 ? 0 : perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 30 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Sum(perpindahan => perpindahan.Jumlah), // JumlahJual = perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 4 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Count() == 0 ? 0 : (perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 4 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Sum(perpindahan => perpindahan.Jumlah) - (perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 5 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Count() == 0 ? 0 : perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 5 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Sum(perpindahan => perpindahan.Jumlah))), // Retur = perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 14 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Count() == 0 ? 0 : perpindahanStokProduk.Where(perpindahan => perpindahan.IDJenisPerpindahanStok == 14 && perpindahan.IDStokProduk == data.IDStokProduk && perpindahan.Tanggal.Date >= DateTime.Parse(TextBoxTanggalAwalCetakLaporan.Text).Date && perpindahan.Tanggal.Date <= DateTime.Parse(TextBoxTanggalAkhirCetakLaporan.Text).Date).Sum(perpindahan => perpindahan.Jumlah), // Stok = data.Jumlah // }).ToList() //}).ToList(); //LabelPrintRestok.Text = stok.Count == 0 ? "0" : Pengaturan.FormatHarga(stok.Sum(item => item.Atribut.Sum(data => data.Restok))); //LabelPrintPenjualan.Text = stok.Count == 0 ? "0" : Pengaturan.FormatHarga(stok.Sum(item => item.Atribut.Sum(data => data.JumlahJual))); //LabelPrintRetur.Text = stok.Count == 0 ? "0" : Pengaturan.FormatHarga(stok.Sum(item => item.Atribut.Sum(data => data.Retur))); //LabelPrintStok.Text = stok.Count == 0 ? "0" : Pengaturan.FormatHarga(stok.Sum(item => item.Atribut.Sum(data => data.Stok))); //var dataStok = stok.Select(item => new //{ // item.NamaProduk, // item.Atribut, // TotalRestok = item.Atribut.Sum(item2 => item2.Restok), // TotalJumlahJual = item.Atribut.Sum(item2 => item2.JumlahJual), // TotalRetur = item.Atribut.Sum(item2 => item2.Retur), // TotalStok = item.Atribut.Sum(item2 => item2.Stok) //}); //RepeaterStokPrint.DataSource = dataStok; //RepeaterStokPrint.DataBind(); #endregion } }
private void LoadData(bool excel) { if (divTabel.Visible == true) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { #region DEFAULT TextBoxTanggalAwal.Text = ((DateTime)ViewState["TanggalAwal"]).ToString("d MMMM yyyy"); TextBoxTanggalAkhir.Text = ((DateTime)ViewState["TanggalAkhir"]).ToString("d MMMM yyyy"); if (ViewState["TanggalAwal"].ToString() == ViewState["TanggalAkhir"].ToString()) { LabelPeriode.Text = ViewState["TanggalAwal"].ToFormatTanggal(); } else { LabelPeriode.Text = ViewState["TanggalAwal"].ToFormatTanggal() + " - " + ViewState["TanggalAkhir"].ToFormatTanggal(); } string Pencarian = ""; #endregion var DataJenisPembayaran = db.TBTransaksiJenisPembayarans .Where(item => item.TBTransaksi.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete && item.Tanggal.Value.Date >= (DateTime)ViewState["TanggalAwal"] && item.Tanggal.Value.Date <= (DateTime)ViewState["TanggalAkhir"]) .ToArray(); Pencarian += "?Awal=" + ViewState["TanggalAwal"]; Pencarian += "&Akhir=" + ViewState["TanggalAkhir"]; #region FILTER if (DropDownListTempat.SelectedValue != "0") { DataJenisPembayaran = DataJenisPembayaran .Where(item => item.TBTransaksi.IDTempat == DropDownListTempat.SelectedValue.ToInt()).ToArray(); Pencarian += "&IDTempat=" + DropDownListTempat.SelectedValue; } if (DropDownListJenisTransaksi.SelectedValue != "0") { DataJenisPembayaran = DataJenisPembayaran .Where(item => item.TBTransaksi.IDJenisTransaksi == DropDownListJenisTransaksi.SelectedValue.ToInt()).ToArray(); Pencarian += "&IDJenisPembayaran=" + DropDownListJenisTransaksi.SelectedValue; } #endregion var ListJenisPembayaran = DataJenisPembayaran .GroupBy(item => new { IDJenisPembayaran = item.IDJenisPembayaran, Tanggal = item.Tanggal.Value.Date }) .Select(item => new { Key = item.Key, Total = item.Sum(item2 => item2.Total) }); //ButtonPrint.OnClientClick = "return popitup('JenisPembayaranPrint.aspx" + _tempPencarian + "')"; JenisPembayaran_Class ClassJenisPembayaran = new JenisPembayaran_Class(db); var JenisPembayaran = ClassJenisPembayaran.Data(); #region USER INTERFACE LiteralHeaderTabel.Text = string.Empty; LiteralLaporan.Text = string.Empty; foreach (var item in JenisPembayaran) { LiteralHeaderTabel.Text += "<th class='text-right'>" + item.Nama + "</th>"; } LiteralHeaderTabel.Text += "<th class='text-right'>TOTAL</th>"; int index = 1; #region SUMARY string JumlahTotal = string.Empty; JumlahTotal += "<tr>"; JumlahTotal += "<td class='text-right' colspan='3'></td>"; foreach (var item in JenisPembayaran) { JumlahTotal += "<td class='text-right success' style='font-size: 12px;'><b>" + ListJenisPembayaran.Where(item2 => item2.Key.IDJenisPembayaran == item.IDJenisPembayaran).Sum(item2 => item2.Total).ToFormatHarga() + "</b></td>"; } JumlahTotal += "<td class='text-right success' style='font-size: 12px;'><b>" + ListJenisPembayaran.Sum(item2 => item2.Total).ToFormatHarga() + "</b></td>"; JumlahTotal += "</tr>"; LiteralLaporan.Text += JumlahTotal; #endregion #region PERSENTASE string JumlahPersentase = string.Empty; decimal GrandTotal = ListJenisPembayaran.Sum(item => item.Total.Value); if (GrandTotal > 0) { JumlahPersentase += "<tr>"; JumlahPersentase += "<td class='text-right' colspan='3'></td>"; decimal TotalPersentase = 0; foreach (var item in JenisPembayaran) { decimal Persentase = ListJenisPembayaran.Where(item2 => item2.Key.IDJenisPembayaran == item.IDJenisPembayaran).Sum(item2 => item2.Total.Value) / GrandTotal * 100; JumlahPersentase += "<td class='text-right active' style='font-size: 10px;'><b>" + Persentase.ToFormatHarga() + " %</b></td>"; TotalPersentase += Persentase; } JumlahPersentase += "<td class='text-right active' style='font-size: 10px;'><b>" + TotalPersentase.ToFormatHarga() + " %</b></td>"; JumlahPersentase += "</tr>"; } LiteralLaporan.Text += JumlahPersentase; #endregion #region JENIS PEMBAYARAN for (DateTime i = (DateTime)ViewState["TanggalAwal"]; i <= (DateTime)ViewState["TanggalAkhir"]; i = i.AddDays(1)) { LiteralLaporan.Text += "<tr>"; LiteralLaporan.Text += "<td>" + index++ + "</td>"; LiteralLaporan.Text += "<td>" + i.ToString("dddd") + "</td>"; LiteralLaporan.Text += "<td>" + i.ToFormatTanggal() + "</td>"; decimal Total = 0; foreach (var item in JenisPembayaran) { var Pembayaran = ListJenisPembayaran.FirstOrDefault(item2 => item2.Key.Tanggal == i.Date && item2.Key.IDJenisPembayaran == item.IDJenisPembayaran); if (Pembayaran != null) { LiteralLaporan.Text += "<td class='text-right'>" + Pembayaran.Total.ToFormatHarga() + "</td>"; Total += Pembayaran.Total.Value; } else { LiteralLaporan.Text += "<td></td>"; } } LiteralLaporan.Text += "<td class='text-right warning'><b>" + (Total > 0 ? Total.ToFormatHarga() : "") + "</b></td>"; LiteralLaporan.Text += "</tr>"; } #endregion LiteralLaporan.Text += JumlahPersentase; LiteralLaporan.Text += JumlahTotal; #endregion #region EXCEL if (excel) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; string FileNama = "Laporan Jenis Pembayaran " + DateTime.Now.ToString("d MMMM yyyy hh.mm.ss") + ".xlsx"; string FolderPath = Server.MapPath("~/file_excel/Jenis Pembayaran/Export/"); if (!Directory.Exists(FolderPath)) { Directory.CreateDirectory(FolderPath); } string FilePath = FolderPath + FileNama; string WorksheetNama = "Laporan Jenis Pembayaran"; string Judul = "Laporan Jenis Pembayaran " + Pengguna.Store + " - " + Pengguna.Tempat + " " + DateTime.Now.ToString("d MMMM yyyy"); FileInfo newFile = new FileInfo(FilePath); using (ExcelPackage package = new ExcelPackage(newFile)) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(WorksheetNama); worksheet.Cells[1, 1].Value = "No."; worksheet.Cells[1, 2].Value = "Hari"; worksheet.Cells[1, 3].Value = "Tanggal"; int Kolom = 4; foreach (var item in JenisPembayaran) { worksheet.Cells[1, Kolom++].Value = item.Nama; } worksheet.Cells[1, Kolom].Value = "TOTAL"; index = 2; for (DateTime i = (DateTime)ViewState["TanggalAwal"]; i <= (DateTime)ViewState["TanggalAkhir"]; i = i.AddDays(1)) { worksheet.Cells[index, 1].Value = index - 1; worksheet.Cells[index, 1].Style.Numberformat.Format = "@"; worksheet.Cells[index, 2].Value = i.ToString("dddd"); worksheet.Cells[index, 2].Style.Numberformat.Format = "@"; worksheet.Cells[index, 3].Value = i; worksheet.Cells[index, 3].Style.Numberformat.Format = "d MMMM yyyy"; decimal Total = 0; int index2 = 4; foreach (var item in JenisPembayaran) { var Pembayaran = ListJenisPembayaran.FirstOrDefault(item2 => item2.Key.Tanggal == i.Date && item2.Key.IDJenisPembayaran == item.IDJenisPembayaran); if (Pembayaran != null) { worksheet.Cells[index, index2].Value = Pembayaran.Total.Value; if (Pembayaran.Total.Value.ToFormatHarga().Contains(",")) { worksheet.Cells[index, index2].Style.Numberformat.Format = "#,##0.00"; } else { worksheet.Cells[index, index2].Style.Numberformat.Format = "#,##0"; } Total += Pembayaran.Total.Value; } else { worksheet.Cells[index, index2].Value = 0; if (Parse.ToFormatHarga(0).Contains(",")) { worksheet.Cells[index, index2].Style.Numberformat.Format = "#,##0.00"; } else { worksheet.Cells[index, index2].Style.Numberformat.Format = "#,##0"; } } index2++; } worksheet.Cells[index, index2].Value = Total; if (Total.ToFormatHarga().Contains(",")) { worksheet.Cells[index, index2].Style.Numberformat.Format = "#,##0.00"; } else { worksheet.Cells[index, index2].Style.Numberformat.Format = "#,##0"; } index++; } using (var range = worksheet.Cells[1, 1, 1, Kolom]) { range.Style.Font.Bold = true; range.Style.Fill.PatternType = ExcelFillStyle.Solid; range.Style.Fill.BackgroundColor.SetColor(Color.Black); range.Style.Font.Color.SetColor(Color.White); } worksheet.Cells.AutoFitColumns(0); worksheet.HeaderFooter.OddHeader.CenteredText = "&16&\"Tahoma,Regular Bold\"" + Judul; worksheet.HeaderFooter.OddFooter.LeftAlignedText = "Print : " + Pengguna.NamaLengkap + " - " + Pengguna.Tempat + " - " + DateTime.Now.ToString("d MMMM yyyy hh:mm"); worksheet.HeaderFooter.OddFooter.RightAlignedText = "WIT. Warehouse Management System - " + string.Format("Page {0} of {1}", ExcelHeaderFooter.PageNumber, ExcelHeaderFooter.NumberOfPages); package.Workbook.Properties.Title = WorksheetNama; package.Workbook.Properties.Author = "WIT. Warehouse Management System"; package.Workbook.Properties.Comments = Judul; package.Workbook.Properties.Company = "WIT. Warehouse Management System"; package.Save(); } LinkDownload.Visible = true; LinkDownload.HRef = "/file_excel/Jenis Pembayaran/Export/" + FileNama; } #endregion } } else if (divChart.Visible == true) { #region DEFAULT TextBoxTanggalAwal.Text = ((DateTime)ViewState["TanggalAwal"]).ToString("d MMMM yyyy"); TextBoxTanggalAkhir.Text = ((DateTime)ViewState["TanggalAkhir"]).ToString("d MMMM yyyy"); if (ViewState["TanggalAwal"].ToString() == ViewState["TanggalAkhir"].ToString()) { LabelPeriode.Text = ViewState["TanggalAwal"].ToFormatTanggal(); } else { LabelPeriode.Text = ViewState["TanggalAwal"].ToFormatTanggal() + " - " + ViewState["TanggalAkhir"].ToFormatTanggal(); } #endregion //Literal LiteralChart = (Literal)Page.Master.FindControl("LiteralChart"); LiteralChart.Text = string.Empty; using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { var DataJenisPembayaran = db.TBTransaksiJenisPembayarans .Where(item => item.TBTransaksi.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete && item.Tanggal.Value.Date >= (DateTime)ViewState["TanggalAwal"] && item.Tanggal.Value.Date <= (DateTime)ViewState["TanggalAkhir"]) .ToArray(); #region FILTER if (DropDownListTempat.SelectedValue != "0") { DataJenisPembayaran = DataJenisPembayaran.Where(item => item.TBTransaksi.IDTempat == DropDownListTempat.SelectedValue.ToInt()).ToArray(); } if (DropDownListJenisTransaksi.SelectedValue != "0") { DataJenisPembayaran = DataJenisPembayaran.Where(item => item.TBTransaksi.IDJenisTransaksi == DropDownListJenisTransaksi.SelectedValue.ToInt()).ToArray(); } #endregion var JenisPembayaran = DataJenisPembayaran .GroupBy(item => new { item.IDJenisPembayaran, item.TBJenisPembayaran.Nama }) .Select(item => new { item.Key, Total = item.Sum(item2 => item2.Total) }) .OrderByDescending(item => item.Total) .ToArray(); int Height = JenisPembayaran.Count() * 30; divChart.Attributes.Add("style", "width: auto; height: " + (Height > 600 ? Height : 600) + "px; margin: 0 auto;"); string Judul = ""; string SubJudul = ""; string JudulX = "Jenis Pembayaran"; string DataX = ""; string JudulY = "Total Jenis Pembayaran"; string DataY = ""; string Tooltip = ""; foreach (var item in JenisPembayaran) { DataX += "'" + item.Key.Nama + "',"; DataY += item.Total + ","; } LiteralChart.Text += "<script type=\"text/javascript\">"; LiteralChart.Text += "$(function () { $('#divChart').highcharts({"; LiteralChart.Text += " chart: { type: 'bar' },"; LiteralChart.Text += " title: { text: '" + Judul + "' },"; LiteralChart.Text += " subtitle: { text: '" + SubJudul + "' },"; LiteralChart.Text += " xAxis: { categories: [" + DataX + "] },"; LiteralChart.Text += " yAxis: { min: 0, title: { text: '" + JudulY + "' } },"; LiteralChart.Text += " tooltip: { valueSuffix: '" + Tooltip + "' },"; LiteralChart.Text += " legend: { reversed: true },"; LiteralChart.Text += " plotOptions: { series: { stacking: 'normal' } },"; LiteralChart.Text += " credits: { enabled: false },"; LiteralChart.Text += " exporting: { enabled: false },"; LiteralChart.Text += " series: ["; LiteralChart.Text += " {"; LiteralChart.Text += " name: '" + JudulX + "',"; LiteralChart.Text += " data: [" + DataY + "]"; LiteralChart.Text += " },"; LiteralChart.Text += " ]"; LiteralChart.Text += " }); });"; LiteralChart.Text += "</script>"; } } }