private void PreviewReportDetail() { var periode = string.Empty; IReportBeliProdukBll reportBll = new ReportBeliProdukBll(_log); IList <ReportPembelianProdukDetail> listOfReportPembelian = new List <ReportPembelianProdukDetail>(); IList <string> listOfSupplierId = new List <string>(); if (chkBoxTitle.Checked) { listOfSupplierId = base.GetSupplierId(_listOfSupplier); if (listOfSupplierId.Count == 0) { MsgHelper.MsgWarning("Minimal 1 supplier harus dipilih"); return; } } if (rdoTanggal.Checked) { if (!DateTimeHelper.IsValidRangeTanggal(dtpTanggalMulai.Value, dtpTanggalSelesai.Value)) { MsgHelper.MsgNotValidRangeTanggal(); return; } var tanggalMulai = DateTimeHelper.DateToString(dtpTanggalMulai.Value); var tanggalSelesai = DateTimeHelper.DateToString(dtpTanggalSelesai.Value); periode = dtpTanggalMulai.Value == dtpTanggalSelesai.Value ? string.Format("Periode : {0}", tanggalMulai) : string.Format("Periode : {0} s.d {1}", tanggalMulai, tanggalSelesai); listOfReportPembelian = reportBll.DetailGetByTanggal(dtpTanggalMulai.Value, dtpTanggalSelesai.Value); } else { periode = string.Format("Periode : {0} {1}", cmbBulan.Text, cmbTahun.Text); var bulan = cmbBulan.SelectedIndex + 1; var tahun = int.Parse(cmbTahun.Text); listOfReportPembelian = reportBll.DetailGetByBulan(bulan, tahun); } if (listOfSupplierId.Count > 0 && listOfReportPembelian.Count > 0) { listOfReportPembelian = listOfReportPembelian.Where(f => listOfSupplierId.Contains(f.supplier_id)) .ToList(); } if (listOfReportPembelian.Count > 0) { var reportDataSource = new ReportDataSource { Name = "ReportPembelianProdukDetail", Value = listOfReportPembelian }; var parameters = new List <ReportParameter>(); parameters.Add(new ReportParameter("periode", periode)); base.ShowReport(this.Text, "RvPembelianProdukDetail", reportDataSource, parameters); } else { MsgHelper.MsgInfo("Maaf laporan data pembelian tidak ditemukan"); } }
private void PreviewReportDetail() { var periode = string.Empty; IReportBeliProdukBll reportBll = new ReportBeliProdukBll(_log); IList <BeliProduk> listOfBeli = new List <BeliProduk>(); IList <ItemBeliProduk> listOfItemBeli = new List <ItemBeliProduk>(); var listOfSupplierId = new List <string>(); if (chkBoxTitle.Checked) { for (int i = 0; i < chkListBox.Items.Count; i++) { if (chkListBox.GetItemChecked(i)) { var supplier = _listOfSupplier[i]; listOfSupplierId.Add(supplier.supplier_id); } } if (listOfSupplierId.Count == 0) { MsgHelper.MsgWarning("Minimal 1 supplier harus dipilih"); return; } } if (rdoTanggal.Checked) { if (!DateTimeHelper.IsValidRangeTanggal(dtpTanggalMulai.Value, dtpTanggalSelesai.Value)) { MsgHelper.MsgNotValidRangeTanggal(); return; } if (dtpTanggalMulai.Value == dtpTanggalSelesai.Value) { periode = string.Format("Periode : {0}", DateTimeHelper.DateToString(dtpTanggalMulai.Value)); } else { periode = string.Format("Periode : {0} s.d {1}", DateTimeHelper.DateToString(dtpTanggalMulai.Value), DateTimeHelper.DateToString(dtpTanggalSelesai.Value)); } listOfBeli = reportBll.GetByTanggal(dtpTanggalMulai.Value, dtpTanggalSelesai.Value); listOfItemBeli = reportBll.DetailGetByTanggal(dtpTanggalMulai.Value, dtpTanggalSelesai.Value); } else { periode = string.Format("Periode : {0} {1}", cmbBulan.Text, cmbTahun.Text); var bulan = cmbBulan.SelectedIndex + 1; var tahun = int.Parse(cmbTahun.Text); listOfBeli = reportBll.GetByBulan(bulan, tahun); listOfItemBeli = reportBll.DetailGetByBulan(bulan, tahun); } if (listOfSupplierId.Count > 0 && listOfBeli.Count > 0) { listOfBeli = listOfBeli.Where(f => f.Supplier != null && listOfSupplierId.Contains(f.supplier_id)) .ToList(); } if (listOfBeli.Count > 0) { var listOfSupplier = listOfBeli.Select(f => f.Supplier).ToList() .GroupBy(gb => gb.supplier_id).Select(g => g.First()).ToList(); var listOfProduk = listOfItemBeli.Select(f => f.Produk).ToList() .GroupBy(gb => gb.produk_id).Select(g => g.First()).ToList(); var listOfBeliDto = Mapper.Map <IList <BeliProdukDto> >(listOfBeli); var listOfItemBeliDto = Mapper.Map <IList <ItemBeliProdukDto> >(listOfItemBeli); var rpt = new CrPembelianProdukDetail(); rpt.Database.Tables["Supplier"].SetDataSource(listOfSupplier); rpt.Database.Tables["Produk"].SetDataSource(listOfProduk); rpt.Database.Tables["BeliProduk"].SetDataSource(listOfBeliDto); rpt.Database.Tables["ItemBeliProduk"].SetDataSource(listOfItemBeliDto); rpt.SetParameterValue("periode", periode); var frmPreview = new FrmPreviewReport(this.Text, rpt); frmPreview.ShowDialog(); } else { MsgHelper.MsgInfo("Maaf data pembelian tidak ditemukan"); } }