예제 #1
0
    private void LoadData(bool GenerateExcel)
    {
        //DEFAULT
        TextBoxTanggalAwal.Text  = ((DateTime)ViewState["TanggalAwal"]).ToString("d MMMM yyyy");
        TextBoxTanggalAkhir.Text = ((DateTime)ViewState["TanggalAkhir"]).ToString("d MMMM yyyy");

        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
        {
            Laporan_Class Laporan_Class = new Laporan_Class(db, (PenggunaLogin)Session["PenggunaLogin"], (DateTime)ViewState["TanggalAwal"], (DateTime)ViewState["TanggalAkhir"], GenerateExcel);

            var Result = Laporan_Class.TransaksiDetail(DropDownListCariTempat.SelectedValue.ToInt(), DropDownListCariStatusTransaksi.SelectedValue.ToInt(), TextBoxIDTransaksi.Text, DropDownListCariPelanggan.SelectedValue.ToInt(), TextBoxKode.Text, DropDownListCariPemilikProduk.SelectedValue.ToInt(), DropDownListCariProduk.SelectedValue.ToInt(), DropDownListCariAtributProduk.SelectedValue.ToInt(), DropDownListCariKategori.SelectedValue.ToInt(), false);

            #region KONFIGURASI LAPORAN
            LabelPeriode.Text = Laporan_Class.Periode;

            LinkDownload.Visible = GenerateExcel;

            if (LinkDownload.Visible)
            {
                LinkDownload.HRef = Laporan_Class.LinkDownload;
            }

            ButtonPrint.OnClientClick = "return popitup('TransaksiDetailPrint.aspx" + Laporan_Class.TempPencarian + "')";
            #endregion

            LabelSubtotalHeader.Text     = Result["Subtotal"];
            LabelJumlahProdukHeader.Text = Result["JumlahProduk"];
            LabelJumlahProdukFooter.Text = LabelJumlahProdukHeader.Text;
            LabelSubtotalFooter.Text     = LabelSubtotalHeader.Text;

            RepeaterLaporan.DataSource = Result["Data"];
            RepeaterLaporan.DataBind();
        }
    }
예제 #2
0
    private void LoadData()
    {
        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
        {
            TextBoxTanggalAwal.Text  = ((DateTime)ViewState["TanggalAwal"]).ToString("d MMMM yyyy");
            TextBoxTanggalAkhir.Text = ((DateTime)ViewState["TanggalAkhir"]).ToString("d MMMM yyyy");

            if (TextBoxTanggalAwal.Text == TextBoxTanggalAkhir.Text)
            {
                LabelPeriode.Text = TextBoxTanggalAwal.Text;
            }
            else
            {
                LabelPeriode.Text = TextBoxTanggalAwal.Text + " - " + TextBoxTanggalAkhir.Text;
            }

            if (DropDownListCariFilterBy.SelectedValue == "semua")
            {
                divSemua.Visible  = true;
                divFilter.Visible = false;
                #region FILTER
                Laporan_Class Laporan_Class = new Laporan_Class(db, (PenggunaLogin)Session["PenggunaLogin"], (DateTime)ViewState["TanggalAwal"], (DateTime)ViewState["TanggalAkhir"], false);

                var Result = Laporan_Class.TransaksiDetail(DropDownListCariTempat.SelectedValue.ToInt(), DropDownListCariStatusTransaksi.SelectedValue.ToInt(), null, 0, TextBoxCariKodeSemuaProduk.Text, DropDownListCariPemilikProdukSemuaProduk.SelectedValue.ToInt(), DropDownListCariProdukSemuaProduk.SelectedValue.ToInt(), DropDownListCariAtributProdukSemuaProduk.SelectedValue.ToInt(), DropDownListCariKategoriSemuaProduk.SelectedValue.ToInt(), true);

                #region KONFIGURASI LAPORAN
                LabelPeriode.Text = Laporan_Class.Periode;

                //LinkDownloadSemuaProduk.Visible = GenerateExcel;

                //if (LinkDownloadSemuaProduk.Visible)
                //    LinkDownloadSemuaProduk.HRef = Laporan_Class.LinkDownload;

                //ButtonPrintSemuaProduk.OnClientClick = "return popitup('PenjualanProdukPrint.aspx" + Laporan_Class.TempPencarian + "')";
                #endregion

                LabelJumlahProduk.Text    = Result["JumlahProduk"];
                LabelHargaPokok.Text      = Result["HargaPokok"];
                LabelHargaJual.Text       = Result["HargaJual"];
                LabelPotonganHarga.Text   = Result["PotonganHargaJual"];
                LabelSubtotal.Text        = Result["Subtotal"];
                LabelPenjualanBersih.Text = Result["PenjualanBersih"];

                RepeaterSemuaProduk.DataSource = Result["Data"];
                RepeaterSemuaProduk.DataBind();
                #endregion
            }
            else
            {
                divSemua.Visible  = false;
                divFilter.Visible = true;
                #region FILTER
                string _tempPencarian = string.Empty;

                _tempPencarian += "?TanggalAwal=" + DateTime.Parse(TextBoxTanggalAwal.Text).Date;
                _tempPencarian += "&TanggalAkhir=" + DateTime.Parse(TextBoxTanggalAkhir.Text).Date;

                _tempPencarian += "&IDTempat=" + DropDownListCariTempat.SelectedValue;
                _tempPencarian += "&IDStatusTransaksi=" + DropDownListCariStatusTransaksi.SelectedValue;
                _tempPencarian += "&Filter=" + DropDownListCariFilterBy.SelectedValue;

                var _hasilDetailTransaksi = db.TBTransaksiDetails.ToArray();

                if (DropDownListCariTempat.SelectedValue != "0")
                {
                    _hasilDetailTransaksi = _hasilDetailTransaksi.Where(item => item.TBTransaksi.IDTempat == DropDownListCariTempat.SelectedValue.ToInt()).ToArray();
                }

                if (DropDownListCariStatusTransaksi.SelectedValue != "0")
                {
                    _hasilDetailTransaksi = _hasilDetailTransaksi.Where(item => item.TBTransaksi.IDStatusTransaksi == DropDownListCariStatusTransaksi.SelectedValue.ToInt()).ToArray();
                }

                var _dataDatabase = _hasilDetailTransaksi.Where(item => item.TBTransaksi.TanggalOperasional.Value.Date >= DateTime.Parse(TextBoxTanggalAwal.Text).Date&& item.TBTransaksi.TanggalOperasional.Value.Date <= DateTime.Parse(TextBoxTanggalAkhir.Text).Date).ToArray();

                var _data = _dataDatabase.AsEnumerable().GroupBy(item => new
                {
                    item.TBKombinasiProduk
                })
                            .Select(item => new
                {
                    KodeKombinasiProduk = item.Key.TBKombinasiProduk.KodeKombinasiProduk,
                    PemilikProduk       = item.Key.TBKombinasiProduk.TBProduk.TBPemilikProduk.Nama,
                    Produk            = item.Key.TBKombinasiProduk.TBProduk.Nama,
                    AtributProduk     = item.Key.TBKombinasiProduk.TBAtributProduk.Nama,
                    IDPemilikProduk   = item.Key.TBKombinasiProduk.TBProduk.IDPemilikProduk,
                    IDProduk          = item.Key.TBKombinasiProduk.TBProduk.IDProduk,
                    IDAtributProduk   = item.Key.TBKombinasiProduk.IDAtributProduk,
                    RelasiKategori    = item.Key.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks,
                    Kategori          = StokProduk_Class.GabungkanSemuaKategoriProduk(db, null, item.Key.TBKombinasiProduk),
                    JumlahProduk      = item.Sum(item2 => item2.Quantity),
                    HargaPokok        = item.Sum(item2 => item2.HargaBeli * item2.Quantity),
                    HargaJual         = item.Sum(item2 => item2.HargaJual * item2.Quantity),
                    PotonganHargaJual = item.Sum(item2 => item2.Discount * item2.Quantity),
                    Subtotal          = item.Sum(item2 => item2.Subtotal),
                    PenjualanBersih   = item.Sum(item2 => (item2.HargaJual - item2.Discount - item2.HargaBeli) * item2.Quantity),
                });

                if (DropDownListCariFilterBy.SelectedValue == "brand")
                {
                    var hasil = db.TBPemilikProduks.AsEnumerable().Where(item => _data.Any(data => data.IDPemilikProduk == item.IDPemilikProduk)).Select(item => new
                    {
                        Nama = item.Nama,
                        Body = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk),
                        TotalJumlahProduk      = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk).Sum(data => data.JumlahProduk),
                        TotalHargaPokok        = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk).Sum(data => data.HargaPokok),
                        TotalHargaJual         = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk).Sum(data => data.HargaJual),
                        TotalPotonganHargaJual = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk).Sum(data => data.PotonganHargaJual),
                        TotalSubtotal          = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk).Sum(data => data.Subtotal),
                        TotalPenjualanBersih   = _data.Where(data => data.IDPemilikProduk == item.IDPemilikProduk).Sum(data => data.PenjualanBersih),
                    }).ToArray();

                    RepeaterFilterBy.DataSource = hasil.OrderBy(item => item.Nama);
                    RepeaterFilterBy.DataBind();
                }
                else if (DropDownListCariFilterBy.SelectedValue == "produk")
                {
                    var hasil = db.TBProduks.AsEnumerable().Where(item => _data.Any(data => data.IDProduk == item.IDProduk)).Select(item => new
                    {
                        Nama = item.Nama,
                        Body = _data.Where(data => data.IDProduk == item.IDProduk),
                        TotalJumlahProduk      = _data.Where(data => data.IDProduk == item.IDProduk).Sum(data => data.JumlahProduk),
                        TotalHargaPokok        = _data.Where(data => data.IDProduk == item.IDProduk).Sum(data => data.HargaPokok),
                        TotalHargaJual         = _data.Where(data => data.IDProduk == item.IDProduk).Sum(data => data.HargaJual),
                        TotalPotonganHargaJual = _data.Where(data => data.IDProduk == item.IDProduk).Sum(data => data.PotonganHargaJual),
                        TotalSubtotal          = _data.Where(data => data.IDProduk == item.IDProduk).Sum(data => data.Subtotal),
                        TotalPenjualanBersih   = _data.Where(data => data.IDProduk == item.IDProduk).Sum(data => data.PenjualanBersih),
                    }).ToArray();

                    RepeaterFilterBy.DataSource = hasil.OrderBy(item => item.Nama);
                    RepeaterFilterBy.DataBind();
                }
                else if (DropDownListCariFilterBy.SelectedValue == "varian")
                {
                    var hasil = db.TBAtributProduks.AsEnumerable().Where(item => _data.Any(data => data.IDAtributProduk == item.IDAtributProduk)).Select(item => new
                    {
                        Nama = item.Nama,
                        Body = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk),
                        TotalJumlahProduk      = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk).Sum(data => data.JumlahProduk),
                        TotalHargaPokok        = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk).Sum(data => data.HargaPokok),
                        TotalHargaJual         = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk).Sum(data => data.HargaJual),
                        TotalPotonganHargaJual = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk).Sum(data => data.PotonganHargaJual),
                        TotalSubtotal          = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk).Sum(data => data.Subtotal),
                        TotalPenjualanBersih   = _data.Where(data => data.IDAtributProduk == item.IDAtributProduk).Sum(data => data.PenjualanBersih),
                    }).ToArray();

                    RepeaterFilterBy.DataSource = hasil.OrderBy(item => item.Nama);
                    RepeaterFilterBy.DataBind();
                }
                else if (DropDownListCariFilterBy.SelectedValue == "kategori")
                {
                    var hasil = db.TBKategoriProduks.AsEnumerable().Where(item => _data.Any(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null)).Select(item => new
                    {
                        Nama = item.Nama,
                        Body = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null),
                        TotalJumlahProduk      = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null).Sum(data => data.JumlahProduk),
                        TotalHargaPokok        = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null).Sum(data => data.HargaPokok),
                        TotalHargaJual         = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null).Sum(data => data.HargaJual),
                        TotalPotonganHargaJual = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null).Sum(data => data.PotonganHargaJual),
                        TotalSubtotal          = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null).Sum(data => data.Subtotal),
                        TotalPenjualanBersih   = _data.Where(data => data.RelasiKategori.FirstOrDefault(relasi => relasi.IDKategoriProduk == item.IDKategoriProduk) != null).Sum(data => data.PenjualanBersih),
                    }).ToArray();

                    RepeaterFilterBy.DataSource = hasil.OrderBy(item => item.Nama);
                    RepeaterFilterBy.DataBind();
                }
                #endregion
            }
        }
    }
예제 #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            #region FIND CONTROL
            Label LabelJudul       = (Label)Page.Master.FindControl("LabelJudul");
            Label LabelSubJudul    = (Label)Page.Master.FindControl("LabelSubJudul");
            Label LabelStoreTempat = (Label)Page.Master.FindControl("LabelStoreTempat");

            Label LabelPrintTanggal     = (Label)Page.Master.FindControl("LabelPrintTanggal");
            Label LabelPrintPengguna    = (Label)Page.Master.FindControl("LabelPrintPengguna");
            Label LabelPrintStoreTempat = (Label)Page.Master.FindControl("LabelPrintStoreTempat");

            Label LabelPeriode = (Label)Page.Master.FindControl("LabelPeriode");

            HtmlGenericControl PanelPengirimHeader = (HtmlGenericControl)Page.Master.FindControl("PanelPengirimHeader");
            HtmlGenericControl PanelPengirimFooter = (HtmlGenericControl)Page.Master.FindControl("PanelPengirimFooter");

            Label LabelPengirimTempat    = (Label)Page.Master.FindControl("LabelPengirimTempat");
            Label LabelPengirimPengguna  = (Label)Page.Master.FindControl("LabelPengirimPengguna");
            Label LabelPengirimPengguna1 = (Label)Page.Master.FindControl("LabelPengirimPengguna1");
            Label LabelPengirimTanggal   = (Label)Page.Master.FindControl("LabelPengirimTanggal");
            Label LabelPengirimAlamat    = (Label)Page.Master.FindControl("LabelPengirimAlamat");
            Label LabelPengirimTelepon   = (Label)Page.Master.FindControl("LabelPengirimTelepon");
            Label LabelPengirimEmail     = (Label)Page.Master.FindControl("LabelPengirimEmail");

            HtmlGenericControl PanelKeterangan = (HtmlGenericControl)Page.Master.FindControl("PanelKeterangan");
            Label LabelPengirimKeterangan      = (Label)Page.Master.FindControl("LabelPengirimKeterangan");

            HtmlGenericControl PanelPenerimaHeader = (HtmlGenericControl)Page.Master.FindControl("PanelPenerimaHeader");
            HtmlGenericControl PanelPenerimaFooter = (HtmlGenericControl)Page.Master.FindControl("PanelPenerimaFooter");

            Label LabelPenerimaTempat    = (Label)Page.Master.FindControl("LabelPenerimaTempat");
            Label LabelPenerimaPengguna  = (Label)Page.Master.FindControl("LabelPenerimaPengguna");
            Label LabelPenerimaPengguna1 = (Label)Page.Master.FindControl("LabelPenerimaPengguna1");
            Label LabelPenerimaTanggal   = (Label)Page.Master.FindControl("LabelPenerimaTanggal");
            Label LabelPenerimaAlamat    = (Label)Page.Master.FindControl("LabelPenerimaAlamat");
            Label LabelPenerimaTelepon   = (Label)Page.Master.FindControl("LabelPenerimaTelepon");
            #endregion

            PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];

            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                LabelCariKode.Text          = string.IsNullOrEmpty(Request.QueryString["Kode"]) ? string.Empty : '"' + Request.QueryString["kode"] + '"';
                LabelCariPemilikProduk.Text = Request.QueryString["IDPemilikProduk"] == "0" ? "Semua" : db.TBPemilikProduks.FirstOrDefault(item => item.IDPemilikProduk == Request.QueryString["IDPemilikProduk"].ToInt()).Nama;
                LabelCariProduk.Text        = Request.QueryString["IDProduk"] == "0" ? "Semua" : db.TBProduks.FirstOrDefault(item => item.IDProduk == Request.QueryString["IDProduk"].ToInt()).Nama;
                LabelCariAtributProduk.Text = Request.QueryString["IDAtributProduk"] == "0" ? "Semua" : db.TBAtributGrups.FirstOrDefault(item => item.IDAtributGrup == Request.QueryString["IDAtributProduk"].ToInt()).Nama;
                LabelCariKategori.Text      = Request.QueryString["IDKategoriProduk"] == "0" ? "Semua" : db.TBKategoriProduks.FirstOrDefault(item => item.IDKategoriProduk == Request.QueryString["IDKategoriProduk"].ToInt()).Nama;

                Laporan_Class Laporan_Class = new Laporan_Class(db, (PenggunaLogin)Session["PenggunaLogin"], Request.QueryString["TanggalAwal"].ToDateTime(), Request.QueryString["TanggalAkhir"].ToDateTime(), false);

                var Result = Laporan_Class.TransaksiDetail(Request.QueryString["IDTempat"].ToInt(), Request.QueryString["IDStatusTransaksi"].ToInt(), Request.QueryString["IDTransaksi"], 0, Request.QueryString["Kode"], Request.QueryString["IDPemilikProduk"].ToInt(), Request.QueryString["IDProduk"].ToInt(), Request.QueryString["IDAtributProduk"].ToInt(), Request.QueryString["IDKategoriProduk"].ToInt(), true);

                #region USER INTERFACE LAPORAN
                LabelJumlahProdukHeader.Text    = Result["JumlahProduk"];
                LabelHargaPokokHeader.Text      = Result["HargaPokok"];
                LabelHargaJualHeader.Text       = Result["HargaJual"];
                LabelPotonganHargaHeader.Text   = Result["PotonganHargaJual"];
                LabelSubtotalHeader.Text        = Result["Subtotal"];
                LabelPenjualanBersihHeader.Text = Result["PenjualanBersih"];

                LabelJumlahProdukFooter.Text    = LabelJumlahProdukHeader.Text;
                LabelHargaPokokFooter.Text      = LabelHargaPokokHeader.Text;
                LabelHargaJualFooter.Text       = LabelHargaJualHeader.Text;
                LabelPotonganHargaFooter.Text   = LabelPotonganHargaHeader.Text;
                LabelSubtotalFooter.Text        = LabelSubtotalHeader.Text;
                LabelPenjualanBersihFooter.Text = LabelPenjualanBersihHeader.Text;

                LabelPeriode.Text = Laporan_Class.Periode;

                RepeaterLaporan.DataSource = Result["Data"];
                RepeaterLaporan.DataBind();
                #endregion
            }

            LabelJudul.Text = "Penjualan Produk";

            LabelPrintTanggal.Text     = DateTime.Now.ToFormatTanggal();
            LabelPrintPengguna.Text    = Pengguna.NamaLengkap;
            LabelPrintStoreTempat.Text = Pengguna.Store + " - " + Pengguna.Tempat;

            PanelPengirimHeader.Visible = false;
            PanelPengirimFooter.Visible = false;

            //LabelPengirimTempat.Text
            //LabelPengirimPengguna.Text
            //LabelPengirimPengguna1.Text = LabelPengirimPengguna.Text;
            //LabelPengirimTanggal.Text
            //LabelPengirimAlamat.Text
            //LabelPengirimTelepon.Text
            //LabelPengirimEmail.Text

            //PanelKeterangan.Visible
            //LabelPengirimKeterangan.Text

            PanelPenerimaHeader.Visible = false;
            PanelPenerimaFooter.Visible = false;

            //LabelPenerimaTempat.Text
            //LabelPenerimaPengguna.Text
            //LabelPenerimaPengguna1.Text = LabelPenerimaPengguna.Text;
            //LabelPenerimaTanggal.Text
            //LabelPenerimaAlamat.Text
            //LabelPenerimaTelepon.Text
        }
    }