private void LoadDataProduk(DataClassesDatabaseDataContext db, DateTime tanggalAwal, DateTime tanggalAkhir, int idPelanggan, int idTempat, int idJenis, int idStatus) { var pembelianProduk = db.TBTransaksiDetails.Where(item => item.TBTransaksi.TanggalOperasional >= tanggalAwal && item.TBTransaksi.TanggalOperasional <= tanggalAkhir).Select(item => new { item.TBTransaksi.IDTempat, item.TBTransaksi.TBPelanggan.IDPelanggan, item.TBTransaksi.TBPelanggan.NamaLengkap, item.TBTransaksi.IDJenisTransaksi, item.TBTransaksi.IDStatusTransaksi, item.TBTransaksi.TanggalTransaksi, item.TBTransaksi.TanggalPembayaran, Kode = item.TBKombinasiProduk.KodeKombinasiProduk, Produk = item.TBKombinasiProduk.Nama, HargaJual = item.HargaJual, JumlahProduk = item.Quantity, Subtotal = item.Subtotal }).ToArray(); if (idTempat > 0) { pembelianProduk = pembelianProduk.Where(item => item.IDTempat == idTempat).ToArray(); } if (idPelanggan > 0) { pembelianProduk = pembelianProduk.Where(item => item.IDPelanggan == idPelanggan).ToArray(); } if (idJenis > 0) { pembelianProduk = pembelianProduk.Where(item => item.IDJenisTransaksi == idJenis).ToArray(); } if (idStatus > 0) { pembelianProduk = pembelianProduk.Where(item => item.IDStatusTransaksi == idStatus).ToArray(); } var hasil = db.TBPelanggans.AsEnumerable().Where(itemPelanggan => pembelianProduk.FirstOrDefault(item => item.IDPelanggan == itemPelanggan.IDPelanggan) != null).Select(itemPelanggan => new { itemPelanggan.IDPelanggan, NamaPelanggan = itemPelanggan.NamaLengkap, Produk = pembelianProduk.Where(itemPembelianProduk => itemPembelianProduk.IDPelanggan == itemPelanggan.IDPelanggan).OrderBy(item => item.TanggalTransaksi), TotalJumlahProduk = pembelianProduk.Where(itemPembelianProduk => itemPembelianProduk.IDPelanggan == itemPelanggan.IDPelanggan).Count() == 0 ? 0 : pembelianProduk.Where(itemPembelianProduk => itemPembelianProduk.IDPelanggan == itemPelanggan.IDPelanggan).Sum(item => item.JumlahProduk), TotalJumlahSubtotal = pembelianProduk.Where(itemPembelianProduk => itemPembelianProduk.IDPelanggan == itemPelanggan.IDPelanggan).Count() == 0 ? 0 : pembelianProduk.Where(itemPembelianProduk => itemPembelianProduk.IDPelanggan == itemPelanggan.IDPelanggan).Sum(item => item.Subtotal), }).ToArray(); RepeaterPembelianProduk.DataSource = hasil; RepeaterPembelianProduk.DataBind(); }
private void LoadDataPembelianProduk(DateTime tanggalAwal, DateTime tanggalAkhir) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TextBoxTanggalAwalPembelianProduk.Text = tanggalAwal.ToString("d MMMM yyyy"); TextBoxTanggalAkhirPembelianProduk.Text = tanggalAkhir.ToString("d MMMM yyyy"); if (TextBoxTanggalAwalPembelianProduk.Text == TextBoxTanggalAkhirPembelianProduk.Text) { LabelPeriodePembelianProduk.Text = TextBoxTanggalAwalPembelianProduk.Text; } else { LabelPeriodePembelianProduk.Text = TextBoxTanggalAwalPembelianProduk.Text + " - " + TextBoxTanggalAkhirPembelianProduk.Text; } var pembelianProduk = db.TBTransaksiDetails.Where(item => item.TBTransaksi.TanggalOperasional.Value.Date >= DateTime.Parse(TextBoxTanggalAwalPembelianProduk.Text).Date&& item.TBTransaksi.TanggalOperasional.Value.Date <= DateTime.Parse(TextBoxTanggalAkhirPembelianProduk.Text).Date).Select(item => new { item.TBTransaksi.IDTempat, item.TBTransaksi.TBPelanggan.IDPelanggan, item.TBTransaksi.TBPelanggan.NamaLengkap, item.TBTransaksi.IDJenisTransaksi, item.TBTransaksi.IDStatusTransaksi, item.TBTransaksi.TanggalTransaksi, item.TBTransaksi.TanggalPembayaran, Produk = item.TBKombinasiProduk.TBProduk.Nama, AtributProduk = item.TBKombinasiProduk.TBAtributProduk.Nama, HargaJual = item.HargaJual, JumlahProduk = item.Quantity, Subtotal = item.Subtotal }).OrderBy(item => item.TanggalTransaksi).ThenBy(item => item.Produk).ToArray(); if (DropDownListTempatPembelianProduk.SelectedValue != "0") { pembelianProduk = pembelianProduk.Where(item => item.IDTempat == DropDownListTempatPembelianProduk.SelectedValue.ToInt()).ToArray(); } if (DropDownListPelangganPembelianProduk.SelectedValue != "0") { pembelianProduk = pembelianProduk.Where(item => item.IDPelanggan == DropDownListPelangganPembelianProduk.SelectedValue.ToInt()).ToArray(); } if (DropDownListJenisTransaksiPembelianProduk.SelectedValue != "0") { pembelianProduk = pembelianProduk.Where(item => item.IDJenisTransaksi == DropDownListJenisTransaksiPembelianProduk.SelectedValue.ToInt()).ToArray(); } if (DropDownListStatusTransaksiPembelianProduk.SelectedValue != "0") { pembelianProduk = pembelianProduk.Where(item => item.IDStatusTransaksi == DropDownListStatusTransaksiPembelianProduk.SelectedValue.ToInt()).ToArray(); } var hasil = db.TBPelanggans.AsEnumerable().Where(itemPelanggan => pembelianProduk.FirstOrDefault(item => item.IDPelanggan == itemPelanggan.IDPelanggan) != null).Select(itemPelanggan => new { itemPelanggan.IDPelanggan, Pelanggan = itemPelanggan.NamaLengkap, Produk = pembelianProduk.Where(itemPembelianProduk => itemPembelianProduk.IDPelanggan == itemPelanggan.IDPelanggan), TotalJumlahProduk = pembelianProduk.Where(itemPembelianProduk => itemPembelianProduk.IDPelanggan == itemPelanggan.IDPelanggan).Count() == 0 ? 0 : pembelianProduk.Where(itemPembelianProduk => itemPembelianProduk.IDPelanggan == itemPelanggan.IDPelanggan).Sum(item => item.JumlahProduk), TotalJumlahSubtotal = pembelianProduk.Where(itemPembelianProduk => itemPembelianProduk.IDPelanggan == itemPelanggan.IDPelanggan).Count() == 0 ? 0 : pembelianProduk.Where(itemPembelianProduk => itemPembelianProduk.IDPelanggan == itemPelanggan.IDPelanggan).Sum(item => item.Subtotal), }).ToArray(); RepeaterPembelianProduk.DataSource = hasil; RepeaterPembelianProduk.DataBind(); } }