Beispiel #1
0
    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
        }
    }
Beispiel #2
0
    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);
        }
    }
Beispiel #3
0
    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);
        }
    }
Beispiel #4
0
    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');";
            }
        }
    }