コード例 #1
0
        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");
            }
        }
コード例 #2
0
        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");
            }
        }