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(); } }
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 } } }
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 } }