Exemple #1
0
        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);
        }