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(DataClassesDatabaseDataContext db) { try { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; 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 = Pengaturan.FormatTanggalRingkas(ViewState["TanggalAwal"]); } else { LabelPeriode.Text = Pengaturan.FormatTanggalRingkas(ViewState["TanggalAwal"]) + " - " + Pengaturan.FormatTanggalRingkas(ViewState["TanggalAkhir"]); } TBTransaksi[] DataTransaksi; if (DropDownListStatusTransaksi.SelectedValue == "0") { //SEMUA TRANSAKSI DataTransaksi = db.TBTransaksis .Where(item => item.IDTempat == Pengguna.IDTempat && item.TanggalTransaksi.Value.Date >= ((DateTime)ViewState["TanggalAwal"]) && item.TanggalTransaksi.Value.Date <= ((DateTime)ViewState["TanggalAkhir"])) .ToArray(); } else if (Parse.Int(DropDownListStatusTransaksi.SelectedValue) == (int)EnumStatusTransaksi.AwaitingPayment) { DataTransaksi = db.TBTransaksis .Where(item => item.IDTempat == Pengguna.IDTempat && item.TanggalTransaksi.Value.Date >= ((DateTime)ViewState["TanggalAwal"]) && item.TanggalTransaksi.Value.Date <= ((DateTime)ViewState["TanggalAkhir"]) && item.IDStatusTransaksi == (int)EnumStatusTransaksi.AwaitingPayment && item.TBTransaksiJenisPembayarans.Count == 0) //BELUM ADA PEMBAYARAN .ToArray(); } else if (Parse.Int(DropDownListStatusTransaksi.SelectedValue) == (int)EnumStatusTransaksi.AwaitingPaymentVerification) { DataTransaksi = db.TBTransaksis .Where(item => item.IDTempat == Pengguna.IDTempat && item.TanggalTransaksi.Value.Date >= ((DateTime)ViewState["TanggalAwal"]) && item.TanggalTransaksi.Value.Date <= ((DateTime)ViewState["TanggalAkhir"]) && item.IDStatusTransaksi == (int)EnumStatusTransaksi.AwaitingPayment && item.TBTransaksiJenisPembayarans.Count > 0) //SUDAH ADA PEMBAYARAN .ToArray(); } else { //SESUAI DENGAN PILIHAN DataTransaksi = db.TBTransaksis .Where(item => item.IDTempat == Pengguna.IDTempat && item.TanggalTransaksi.Value.Date >= ((DateTime)ViewState["TanggalAwal"]) && item.TanggalTransaksi.Value.Date <= ((DateTime)ViewState["TanggalAkhir"]) && item.IDStatusTransaksi == Parse.Int(DropDownListStatusTransaksi.SelectedValue)).ToArray(); } if (!string.IsNullOrWhiteSpace(TextBoxIDTransaksi.Text)) { DataTransaksi = DataTransaksi.Where(item => item.IDTransaksi.ToLower().Contains(TextBoxIDTransaksi.Text.ToLower())).ToArray(); TextBoxIDTransaksi.Focus(); } if (!string.IsNullOrWhiteSpace(TextBoxJenisTransaksi.Text)) { DataTransaksi = DataTransaksi.Where(item => item.TBJenisTransaksi.Nama.ToLower().Contains(TextBoxJenisTransaksi.Text.ToLower())).ToArray(); TextBoxJenisTransaksi.Focus(); } if (!string.IsNullOrWhiteSpace(TextBoxMeja.Text)) { DataTransaksi = DataTransaksi.Where(item => item.TBMeja.Nama.ToLower().Contains(TextBoxMeja.Text.ToLower())).ToArray(); TextBoxMeja.Focus(); } if (!string.IsNullOrWhiteSpace(TextBoxPengirim.Text)) { DataTransaksi = DataTransaksi .Where(item => item.IDTempatPengirim.HasValue && item.TBTempat1.Nama.ToLower().Contains(TextBoxPengirim.Text.ToLower())) .ToArray(); TextBoxPengirim.Focus(); } if (!string.IsNullOrWhiteSpace(TextBoxPenggunaTransaksi.Text)) { DataTransaksi = DataTransaksi.Where(item => item.TBPengguna.NamaLengkap.ToLower().Contains(TextBoxPenggunaTransaksi.Text.ToLower())).ToArray(); TextBoxPenggunaTransaksi.Focus(); } if (!string.IsNullOrWhiteSpace(TextBoxPelanggan.Text)) { DataTransaksi = DataTransaksi.Where(item => item.TBPelanggan.NamaLengkap.ToLower().Contains(TextBoxPelanggan.Text.ToLower())).ToArray(); TextBoxPelanggan.Focus(); } if (!string.IsNullOrWhiteSpace(TextBoxKeterangan.Text)) { DataTransaksi = DataTransaksi.Where(item => item.Keterangan.ToLower().Contains(TextBoxKeterangan.Text.ToLower())).ToArray(); TextBoxKeterangan.Focus(); } if (!string.IsNullOrWhiteSpace(TextBoxGrandtotal.Text)) { DataTransaksi = DataTransaksi.Where(item => item.GrandTotal == Parse.Decimal(TextBoxGrandtotal.Text)).ToArray(); TextBoxGrandtotal.Focus(); } RepeaterTransaksi.DataSource = DataTransaksi .Select(item => new { item.IDTransaksi, JenisTransaksi = item.TBJenisTransaksi.Nama, Meja = item.TBMeja.Nama, item.IDStatusTransaksi, item.TanggalTransaksi, PenggunaTransaksi = item.TBPengguna.NamaLengkap, Pelanggan = item.TBPelanggan.NamaLengkap, ClassStatus = item.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete ? "fitSize success" : item.IDStatusTransaksi == (int)EnumStatusTransaksi.Canceled ? "fitSize danger" : "fitSize warning", Status = item.TBStatusTransaksi.Nama, item.JumlahProduk, item.GrandTotal, item.Keterangan, Pengirim = item.IDTempatPengirim.HasValue ? item.TBTempat1.Nama : "", UbahOrder = item.IDStatusTransaksi == (int)EnumStatusTransaksi.AwaitingPayment, TransaksiBaru = item.IDStatusTransaksi == (int)EnumStatusTransaksi.Canceled, Batal = item.IDStatusTransaksi != (int)EnumStatusTransaksi.Canceled, Retur = Pengguna.PointOfSales == TipePointOfSales.Retail && item.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete && item.TBTransaksiDetails.Where(item2 => item2.Quantity > 0).Count() > 0 }) .OrderByDescending(item => item.TanggalTransaksi) .ToArray(); RepeaterTransaksi.DataBind(); } catch (Exception ex) { LogError_Class LogError = new LogError_Class(ex, Request.Url.PathAndQuery); } }
private void LoadData() { try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; 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 = Pengaturan.FormatTanggalRingkas(ViewState["TanggalAwal"]); } else { LabelPeriode.Text = Pengaturan.FormatTanggalRingkas(ViewState["TanggalAwal"]) + " - " + Pengaturan.FormatTanggalRingkas(ViewState["TanggalAkhir"]); } TBTransaksi[] DataTransaksi; if (DropDownListStatusTransaksi.SelectedValue == "0") { //SEMUA TRANSAKSI DataTransaksi = db.TBTransaksis .Where(item => item.IDJenisTransaksi == (int)EnumJenisTransaksi.Marketing && item.IDTempat == Pengguna.IDTempat && item.TanggalTransaksi.Value.Date >= ((DateTime)ViewState["TanggalAwal"]) && item.TanggalTransaksi.Value.Date <= ((DateTime)ViewState["TanggalAkhir"])).ToArray(); } else { //SESUAI DENGAN PILIHAN DataTransaksi = db.TBTransaksis .Where(item => item.IDJenisTransaksi == (int)EnumJenisTransaksi.Marketing && item.IDTempat == Pengguna.IDTempat && item.TanggalTransaksi.Value.Date >= ((DateTime)ViewState["TanggalAwal"]) && item.TanggalTransaksi.Value.Date <= ((DateTime)ViewState["TanggalAkhir"]) && item.IDStatusTransaksi == DropDownListStatusTransaksi.SelectedValue.ToInt()).ToArray(); } if (!string.IsNullOrWhiteSpace(TextBoxIDTransaksi.Text)) { DataTransaksi = DataTransaksi.Where(item => item.IDTransaksi.ToLower().Contains(TextBoxIDTransaksi.Text.ToLower())).ToArray(); TextBoxIDTransaksi.Focus(); } if (!string.IsNullOrWhiteSpace(TextBoxPelanggan.Text)) { DataTransaksi = DataTransaksi.Where(item => item.TBPelanggan.NamaLengkap.ToLower().Contains(TextBoxPelanggan.Text.ToLower())).ToArray(); TextBoxPelanggan.Focus(); } if (!string.IsNullOrWhiteSpace(TextBoxKeterangan.Text)) { DataTransaksi = DataTransaksi.Where(item => item.Keterangan.ToLower().Contains(TextBoxKeterangan.Text.ToLower())).ToArray(); TextBoxKeterangan.Focus(); } if (!string.IsNullOrWhiteSpace(TextBoxJumlah.Text)) { DataTransaksi = DataTransaksi.Where(item => item.JumlahProduk == Parse.Decimal(TextBoxJumlah.Text)).ToArray(); TextBoxJumlah.Focus(); } if (!string.IsNullOrWhiteSpace(TextBoxGrandtotal.Text)) { DataTransaksi = DataTransaksi.Where(item => item.GrandTotal == Parse.Decimal(TextBoxGrandtotal.Text)).ToArray(); TextBoxGrandtotal.Focus(); } RepeaterTransaksi.DataSource = DataTransaksi .Select(item => new { item.Nomor, item.IDTransaksi, item.IDStatusTransaksi, item.TanggalTransaksi, Pelanggan = item.TBPelanggan.NamaLengkap, ClassStatus = item.IDStatusTransaksi == (int)EnumStatusTransaksi.Complete ? "fitSize text-middle success" : item.IDStatusTransaksi == (int)EnumStatusTransaksi.Canceled ? "fitSize text-middle danger" : "fitSize text-middle warning", Status = item.TBStatusTransaksi.Nama, item.JumlahProduk, item.GrandTotal, item.Keterangan, UbahOrder = item.IDStatusTransaksi == (int)EnumStatusTransaksi.AwaitingPayment, TransaksiBaru = item.IDStatusTransaksi == (int)EnumStatusTransaksi.Canceled, Batal = item.IDStatusTransaksi != (int)EnumStatusTransaksi.Canceled }) .OrderByDescending(item => item.Nomor) .ToArray(); RepeaterTransaksi.DataBind(); } } catch (Exception ex) { LogError_Class LogError = new LogError_Class(ex, Request.Url.PathAndQuery); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProdukPenagihan poProduksiProdukPenagihan = db.TBPOProduksiProdukPenagihans.FirstOrDefault(item => item.IDPOProduksiProdukPenagihan == Request.QueryString["id"]); TextBoxIDPOProduksiProdukPenagihan.Text = poProduksiProdukPenagihan.IDPOProduksiProdukPenagihan; TextBoxPegawai.Text = poProduksiProdukPenagihan.TBPengguna.NamaLengkap; TextBoxTanggal.Text = Pengaturan.FormatTanggalRingkas(poProduksiProdukPenagihan.Tanggal); TextBoxVendor.Text = poProduksiProdukPenagihan.TBVendor.Nama; TextBoxKeterangan.Text = poProduksiProdukPenagihan.Keterangan; RepeaterDetail.DataSource = poProduksiProdukPenagihan.TBPenerimaanPOProduksiProduks.Select(item => new { item.IDPenerimaanPOProduksiProduk, item.TanggalTerima, item.Grandtotal }); RepeaterDetail.DataBind(); LabelTotalPenerimaan.Text = poProduksiProdukPenagihan.TotalPenerimaan.ToFormatHarga(); RepeaterRetur.DataSource = poProduksiProdukPenagihan.TBPOProduksiProdukReturs.Select(item => new { item.IDPOProduksiProdukRetur, item.TanggalRetur, item.Grandtotal }); RepeaterRetur.DataBind(); LabelTotalRetur.Text = poProduksiProdukPenagihan.TotalRetur.ToFormatHarga(); RepeaterDownPayment.DataSource = poProduksiProdukPenagihan.TBPenerimaanPOProduksiProduks.Select(item => item.TBPOProduksiProduk).Distinct().Where(item => item.IDPOProduksiProdukPenagihan == poProduksiProdukPenagihan.IDPOProduksiProdukPenagihan).Select(item => new { item.IDPOProduksiProduk, item.TanggalDownPayment, item.DownPayment }); RepeaterDownPayment.DataBind(); LabelTotalDownPayment.Text = poProduksiProdukPenagihan.TotalDownPayment.ToFormatHarga(); RepeaterPembayaran.DataSource = poProduksiProdukPenagihan.TBPOProduksiProdukPenagihanDetails.Select(item => new { Pegawai = item.TBPengguna.NamaLengkap, item.Tanggal, JenisPembayaran = item.TBJenisPembayaran.Nama, item.Bayar }); RepeaterPembayaran.DataBind(); LabelTotalBayar.Text = poProduksiProdukPenagihan.TotalBayar.ToFormatHarga(); TextBoxTotalSisaTagihan.Text = (poProduksiProdukPenagihan.TotalTagihan - poProduksiProdukPenagihan.TotalBayar).ToFormatHarga(); TextBoxTanggalBayar.Text = DateTime.Now.ToString("d MMMM yyyy"); DropDownListJenisPembayaran.DataSource = db.TBJenisPembayarans.Where(item => item.IDJenisPembayaran != 2).Select(item => new { item.IDJenisPembayaran, item.Nama }); DropDownListJenisPembayaran.DataTextField = "Nama"; DropDownListJenisPembayaran.DataValueField = "IDJenisPembayaran"; DropDownListJenisPembayaran.DataBind(); //ButtonSimpan.OnClientClick = "window.open('Cetak.aspx?id=" + Request.QueryString["id"] + "', 'Cetak');"; } } }