private void SetDataSource(ReportDocument Report) { string strReportType = cboReportType.SelectedValue; Int32 ForReorder = 0; Int32 OverStock = 0; if (strReportType == ReportTypes.ItemsForReOrder) { ForReorder = 1; } else if (strReportType == ReportTypes.OverStockItems) { OverStock = 1; } ReportDataset rptds = new ReportDataset(); #region Search Key Int32 intBranchID = Convert.ToInt32(cboBranch.SelectedItem.Value); Int64 lngSupplierID = Convert.ToInt32(cboContact.SelectedItem.Value); Int64 lngProductGroupID = Convert.ToInt64(cboProductGroup.SelectedItem.Value); Int64 lngProductSubGroupID = Convert.ToInt64(cboSubGroup.SelectedItem.Value); string stProductCode = txtProductCode.Text; #endregion string ExpirationDate = Constants.C_DATE_MIN_VALUE_STRING; if (strReportType == ReportTypes.ExpiredInventory) { ExpirationDate = txtExpiryDate.Text; } int isSummary = intBranchID == 0 ? 1 : 0; ProductInventories clsProductInventories; System.Data.DataTable dt; switch (strReportType) { case ReportTypes.SummarizedInventoryByBranch: clsProductInventories = new ProductInventories(); dt = clsProductInventories.SummarizedInventory(SummarizedInventoryTypes.byBranch, intBranchID, lngSupplierID, lngProductGroupID, true); clsProductInventories.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.SummarizedInventory.NewRow(); foreach (DataColumn dc in rptds.SummarizedInventory.Columns) { drNew[dc] = dr[dc.ColumnName]; } rptds.SummarizedInventory.Rows.Add(drNew); } break; case ReportTypes.SummarizedInventoryBySupplier: clsProductInventories = new ProductInventories(); dt = clsProductInventories.SummarizedInventory(SummarizedInventoryTypes.bySupplier, intBranchID, lngSupplierID, lngProductGroupID, true); clsProductInventories.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.SummarizedInventory.NewRow(); foreach (DataColumn dc in rptds.SummarizedInventory.Columns) { drNew[dc] = dr[dc.ColumnName]; } rptds.SummarizedInventory.Rows.Add(drNew); } break; case ReportTypes.SummarizedInventoryByGroup: clsProductInventories = new ProductInventories(); dt = clsProductInventories.SummarizedInventory(SummarizedInventoryTypes.byGroup, intBranchID, lngSupplierID, lngProductGroupID, true); clsProductInventories.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.SummarizedInventory.NewRow(); foreach (DataColumn dc in rptds.SummarizedInventory.Columns) { drNew[dc] = dr[dc.ColumnName]; } rptds.SummarizedInventory.Rows.Add(drNew); } break; default: clsProductInventories = new ProductInventories(); if (cboMonth.SelectedItem.Value == DateTime.Now.Month.ToString("0#") && cboYear.SelectedItem.Value == DateTime.Now.Year.ToString()) { dt = clsProductInventories.ListAsDataTable(BranchID: intBranchID, ProductCode: stProductCode, ProductGroupID: lngProductGroupID, ProductSubGroupID: lngProductSubGroupID, SupplierID: lngSupplierID, isSummary: isSummary, ExpirationDate: ExpirationDate, ForReorder: ForReorder, OverStock: OverStock); } else { dt = clsProductInventories.ListAsDataTable(Month: int.Parse(cboMonth.SelectedItem.Value), Year: int.Parse(cboYear.SelectedItem.Value.ToString()), BranchID: intBranchID, ProductCode: stProductCode, ProductGroupID: lngProductGroupID, ProductSubGroupID: lngProductSubGroupID, SupplierID: lngSupplierID, isSummary: isSummary, ExpirationDate: ExpirationDate, ForReorder: ForReorder, OverStock: OverStock); } clsProductInventories.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { //if (dr[ProductColumnNames.BarCode].ToString() != null && dr[ProductColumnNames.BarCode].ToString() != string.Empty) //{ DataRow drNew = rptds.Products.NewRow(); foreach (DataColumn dc in rptds.Products.Columns) { drNew[dc] = dr[dc.ColumnName]; } rptds.Products.Rows.Add(drNew); //} } break; } Report.SetDataSource(rptds); SetParameters(Report); }