private void SetDataSource(ReportDocument Report) { ReportDataset rptds = new ReportDataset(); //long lngProductGroupName = long.Parse(cboProductGroup.SelectedItem.Value); //long lngSubGroupName = long.Parse(cboSubGroup.SelectedItem.Value); string ProductGroupName = string.Empty; if (cboProductGroup.SelectedItem.Value != Constants.ZERO_STRING) ProductGroupName = cboProductGroup.SelectedItem.Value; string SubGroupName = string.Empty; if (cboSubGroup.SelectedItem.Value != Constants.ZERO_STRING) SubGroupName = cboSubGroup.SelectedItem.Value; string ReportType = cboReportType.SelectedItem.Text; ProductColumns clsProductColumns = new ProductColumns(); #region clsProductColumns clsProductColumns.ProductCode = true; clsProductColumns.BarCode = true; clsProductColumns.BarCode2 = true; clsProductColumns.BarCode3 = true; clsProductColumns.ProductDesc = true; clsProductColumns.ProductSubGroupName = true; clsProductColumns.BaseUnitName = true; clsProductColumns.UnitName = true; clsProductColumns.ProductGroupName = true; clsProductColumns.DateCreated = true; clsProductColumns.Price = true; clsProductColumns.Quantity = true; clsProductColumns.MinThreshold = true; clsProductColumns.MaxThreshold = true; clsProductColumns.PurchasePrice = true; clsProductColumns.SupplierName = true; clsProductColumns.QuantityIN = true; clsProductColumns.QuantityOUT = true; clsProductColumns.RIDMinThreshold = true; clsProductColumns.RIDMaxThreshold = true; clsProductColumns.RID = true; //clsProductColumns.BranchActualQuantity = true; //clsProductColumns.BranchQuantity = true; //clsProductColumns.BranchQuantityIN = true; //clsProductColumns.BranchQuantityOUT = true; #endregion ProductDetails clsSearchKey = new ProductDetails(); #region Search Key clsSearchKey.BranchID = Convert.ToInt32(cboBranch.SelectedItem.Value); clsSearchKey.SupplierID = Convert.ToInt32(cboContact.SelectedItem.Value); clsSearchKey.ProductGroupID = Convert.ToInt64(cboProductGroup.SelectedItem.Value); clsSearchKey.ProductSubGroupID = Convert.ToInt64(cboSubGroup.SelectedItem.Value); clsSearchKey.ProductCode = txtProductCode.Text; #endregion Products clsProduct = new Products(); clsProduct.GetConnection(); ProductInventories clsProductInventories = new ProductInventories(clsProduct.Connection, clsProduct.Transaction); DataTable dt; string ProductIDs = null; switch (cboReportType.SelectedValue) { case ReportTypes.ProductList: #region Products List dt = clsProductInventories.ListAsDataTable(Int32.Parse(cboBranch.SelectedItem.Value), SupplierID: long.Parse(cboContact.SelectedItem.Value), ProductGroupID: long.Parse(cboProductGroup.SelectedItem.Value), ProductSubGroupID: long.Parse(cboSubGroup.SelectedItem.Value), ProductCode: txtProductCode.Text); clsProduct.CommitAndDispose(); foreach (System.Data.DataRow dr in dt.Rows) { DataRow drNew = rptds.Products.NewRow(); foreach (DataColumn dc in rptds.Products.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Products.Rows.Add(drNew); } break; #endregion case ReportTypes.ProductPriceList: #region Products Price List dt = clsProductInventories.ListAsDataTable(int.Parse(cboBranch.SelectedItem.Value), SupplierID: long.Parse(cboContact.SelectedItem.Value), ProductGroupID: long.Parse(cboProductGroup.SelectedItem.Value), ProductSubGroupID: long.Parse(cboSubGroup.SelectedItem.Value), ProductCode: txtProductCode.Text); clsProduct.CommitAndDispose(); foreach (DataRow dr in dt.Rows) { DataRow drNew = rptds.Products.NewRow(); foreach (DataColumn dc in rptds.Products.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Products.Rows.Add(drNew); ProductIDs += dr["ProductID"].ToString() + ","; } break; #endregion case ReportTypes.ProductListWithInvalidMatrix: #region Products List With Invalid Unit Matrix dt = clsProductInventories.ListAsDataTable(int.Parse(cboBranch.SelectedItem.Value), SupplierID: long.Parse(cboContact.SelectedItem.Value), ProductGroupID: long.Parse(cboProductGroup.SelectedItem.Value), ProductSubGroupID: long.Parse(cboSubGroup.SelectedItem.Value), ProductCode: txtProductCode.Text, ShowOnlyWithInvalidUnitMatrix: true); clsProduct.CommitAndDispose(); foreach (System.Data.DataRow dr in dt.Rows) { DataRow drNew = rptds.Products.NewRow(); foreach (DataColumn dc in rptds.Products.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.Products.Rows.Add(drNew); } break; #endregion case ReportTypes.WeightedProductsForWeighingScale: case ReportTypes.CountedProductsForWeighingScale: #region Weighted and Counted Products For Weighing Scale dt = clsProductInventories.ListAsDataTable(int.Parse(cboBranch.SelectedItem.Value), SupplierID: long.Parse(cboContact.SelectedItem.Value), ProductGroupID: long.Parse(cboProductGroup.SelectedItem.Value), ProductSubGroupID: long.Parse(cboSubGroup.SelectedItem.Value), ProductCode: txtProductCode.Text); clsProduct.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); ProductIDs += dr["ProductID"].ToString() + ","; } } break; #endregion case ReportTypes.ProductsInDemoReport: #region Products In Demo DateTime StartTransactionDate = DateTime.TryParse(txtStartDate.Text + " " + txtStartTime.Text, out StartTransactionDate) ? StartTransactionDate : DateTime.MinValue; DateTime EndTransactionDate = DateTime.TryParse(txtEndDate.Text + " " + txtEndTime.Text, out EndTransactionDate) ? EndTransactionDate : DateTime.MinValue; SalesTransactionItems clsSalesTransactionItemsDemo = new SalesTransactionItems(); System.Data.DataTable dtDemo = clsSalesTransactionItemsDemo.ProductsInDemoReport(Int32.Parse(cboBranch.SelectedItem.Value), Int64.Parse(cboContact.SelectedItem.Value), cboProductGroup.SelectedItem.Text, cboSubGroup.SelectedItem.Text, txtProductCode.Text, "", StartTransactionDate, EndTransactionDate); clsSalesTransactionItemsDemo.CommitAndDispose(); foreach (DataRow dr in dtDemo.Rows) { DataRow drNew = rptds.ProductsInDemo.NewRow(); foreach (DataColumn dc in rptds.ProductsInDemo.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.ProductsInDemo.Rows.Add(drNew); } break; #endregion default: return; } Report.SetDataSource(rptds); SetParameters(Report); }