/// <summary> /// Thachnn: 28/10/2005 /// Preview the report for this form /// Using the "InventoryDetailReport.xml" layout /// </summary> /// <history>Thachnn: 29/12/2005: Add parameter display to the report. Change USECASE.</history> /// <param name="sender"></param> /// <param name="e"></param> public DataTable ExecuteReport(string pstrCCNID, string pstrMasterLocationID, string pstrLocationID, string pstrBinID, string pstrCategoryID, string pstrParameterModel) { #region Constants string mstrReportDefFolder = mstrReportDefinitionFolder; const string REPORT_LAYOUT_FILE = "InventoryDetailReport.xml"; const string TABLE_NAME = "InventoryDetailReport"; const string REPORT_NAME = "Inventory Detail"; const string PAGE = "Page"; const string HEADER = "Header"; const string REPORTFLD_TITLE = "fldTitle"; const string REPORTFLD_COMPANY = "fldCompany"; const string REPORTFLD_ADDRESS = "fldAddress"; const string REPORTFLD_TEL = "fldTel"; const string REPORTFLD_FAX = "fldFax"; const string REPORTFLD_DATETIME = "fldDateTime"; #endregion #region GETTING THE PARAMETER PCSComUtils.Common.BO.UtilsBO boUtil = new PCSComUtils.Common.BO.UtilsBO(); PCSComUtils.Framework.ReportFrame.BO.C1PrintPreviewDialogBO objBO = new PCSComUtils.Framework.ReportFrame.BO.C1PrintPreviewDialogBO(); string strCCN = boUtil.GetCCNCodeFromID(int.Parse(pstrCCNID)); string strMasterLocation = objBO.GetMasterLocationCodeFromID(int.Parse(pstrMasterLocationID)) + ": " + objBO.GetMasterLocationNameFromID(int.Parse(pstrMasterLocationID)); string strLocation = string.Empty; try { strLocation = objBO.GetLocationCodeFromID(int.Parse(pstrLocationID)); } catch {} string strBin = string.Empty; try { strBin = objBO.GetBinCodeFromID(int.Parse(pstrBinID)); } catch {} string strCategory = string.Empty; try { strCategory = objBO.GetCategoryCodeFromID(int.Parse(pstrCategoryID)); } catch {} #endregion float fActualPageSize = 9000f; #region Build dtbResult DataTable DataTable dtbResult; try { dtbResult = GetInventoryDetailData(pstrCCNID, pstrMasterLocationID, pstrLocationID, pstrBinID, pstrCategoryID, pstrParameterModel); } catch { dtbResult = new DataTable(); } #endregion ReportBuilder objRB; objRB = new ReportBuilder(); objRB.ReportName = REPORT_NAME; objRB.SourceDataTable = dtbResult; #region INIT REPORT BUIDER OBJECT try { objRB.ReportDefinitionFolder = mstrReportDefinitionFolder; objRB.ReportLayoutFile = REPORT_LAYOUT_FILE; if (objRB.AnalyseLayoutFile() == false) { // PCSMessageBox.Show(ErrorCode.MESSAGE_REPORT_TEMPLATE_FILE_NOT_FOUND, MessageBoxIcon.Error); return(new DataTable()); } //objRB.UseLayoutFile = objRB.AnalyseLayoutFile(); // use layout file if any , auto drawing if not found layout file objRB.UseLayoutFile = true; // always use layout file } catch { objRB.UseLayoutFile = false; // PCSMessageBox.Show(ErrorCode.MESSAGE_REPORT_TEMPLATE_FILE_NOT_FOUND,MessageBoxIcon.Error); } C1.C1Report.Layout objLayout = objRB.Report.Layout; fActualPageSize = objLayout.PageSize.Width - (float)objLayout.MarginLeft - (float)objLayout.MarginRight; #endregion objRB.MakeDataTableForRender(); //grid.DataSource = objRB.RenderDataTable; #region RENDER TO PRINT PREVIEW // and show it in preview dialog PCSUtils.Framework.ReportFrame.C1PrintPreviewDialog printPreview = new PCSUtils.Framework.ReportFrame.C1PrintPreviewDialog(); printPreview.FormTitle = REPORT_NAME; objRB.ReportViewer = printPreview.ReportViewer; objRB.RenderReport(); #region COMPANY INFO header information get from system params // try // { // objRB.DrawPredefinedField(REPORTFLD_COMPANY,SystemProperty.SytemParams.Get(SystemParam.COMPANY_NAME)); // } // catch{} // try // { // objRB.DrawPredefinedField(REPORTFLD_ADDRESS,SystemProperty.SytemParams.Get(SystemParam.ADDRESS)); // } // catch{} // try // { // objRB.DrawPredefinedField(REPORTFLD_TEL,SystemProperty.SytemParams.Get(SystemParam.TEL)); // } // catch{} // try // { // objRB.DrawPredefinedField(REPORTFLD_FAX,SystemProperty.SytemParams.Get(SystemParam.FAX)); // } // catch{} #endregion #region DRAW Parameters const string CCN = "CCN"; const string MASTER_LOCATION = "Master Location"; const string LOCATION = "Location"; const string BIN = "Bin"; const string CATEGORY = "Category"; const string MODEL = "Model"; System.Collections.Specialized.NameValueCollection arrParamAndValue = new System.Collections.Specialized.NameValueCollection(); arrParamAndValue.Add(CCN, strCCN); arrParamAndValue.Add(MASTER_LOCATION, strMasterLocation); if (pstrLocationID.Trim() != string.Empty) { arrParamAndValue.Add(LOCATION, strLocation); } if (pstrBinID.Trim() != string.Empty) { arrParamAndValue.Add(BIN, strBin); } if (pstrCategoryID.Trim() != string.Empty) { arrParamAndValue.Add(CATEGORY, strCategory); } if (pstrParameterModel.Trim() != string.Empty) { arrParamAndValue.Add(MODEL, pstrParameterModel); } /// anchor the Parameter drawing canvas cordinate to the fldTitle C1.C1Report.Field fldTitle = objRB.GetFieldByName(REPORTFLD_TITLE); double dblStartX = fldTitle.Left; double dblStartY = fldTitle.Top + 1.3 * fldTitle.RenderHeight; objRB.GetSectionByName(PAGE + HEADER).CanGrow = true; objRB.DrawParameters(objRB.GetSectionByName(PAGE + HEADER), dblStartX, dblStartY, arrParamAndValue, objRB.Report.Font.Size); #endregion /// there are some hardcode numbers here /// but these numbers are use ONLY ONE and ONLY USED HERE, so we don't need to define constant for it. objRB.DrawBoxGroup_Madeby_Checkedby_Approvedby(objRB.GetSectionByName(PAGE + HEADER), 15945 - 1400 - 1400 - 1400, 600, 1400, 1300, 200); #region DAY--MONTH--YEAR INFO DateTime dtm; try { dtm = objUtilBO.GetDBDate(); } catch { dtm = DateTime.Now; } try { objRB.DrawPredefinedField(REPORTFLD_DATETIME, dtm.ToString("dd-MM-yyyy hh:mm")); } catch {} #endregion objRB.RefreshReport(); printPreview.Show(); #endregion UseReportViewerRenderEngine = false; mResult = dtbResult; return(dtbResult); }
/// <summary> /// Thachnn: 28/10/2005 /// Preview the report for this form /// Using the "InventoryStatusSummaryByMasterLocationReport.xml" layout /// </summary> /// <history>Thachnn: 29/12/2005: Add parameter display to the report. Change USECASE.</history> /// <param name="sender"></param> /// <param name="e"></param> public DataTable ExecuteReport(string pstrCCNID, string pstrMasterLocationID, string pstrCategoryID, string pstrParameterModel) { #region Constants string mstrReportDefFolder = mstrReportDefinitionFolder; const string REPORT_LAYOUT_FILE = "InventoryStatusSummaryByMasterLocationReport.xml"; const string TABLE_NAME = "InventoryStatusSummaryByMasterLocationReport"; const string REPORT_NAME = "Inventory Status Summary By Master Location"; const string PAGE = "Page"; const string HEADER = "Header"; const string REPORTFLD_TITLE = "fldTitle"; const string REPORTFLD_COMPANY = "fldCompany"; const string REPORTFLD_ADDRESS = "fldAddress"; const string REPORTFLD_TEL = "fldTel"; const string REPORTFLD_FAX = "fldFax"; const string REPORTFLD_DAY = "fldDay"; const string REPORTFLD_MONTH = "fldMonth"; const string REPORTFLD_YEAR = "fldYear"; const string REPORTFLD_CATEGORY = "fldCategory"; const string REPORTFLD_PARTNUMBER = "fldPartNumber"; const string REPORTFLD_PARTNAME = "fldPartName"; const string REPORTFLD_MODEL = "fldModel"; const string REPORTFLD_STOCKUM = "fldStockUM"; const string REPORTFLD_LOCATION = "fldLocation"; const string REPORTFLD_OHQTY = "fldOHQty"; const string REPORTFLD_COMMITQTY = "fldCommitQty"; const string REPORTFLD_AVAILABLEQTY = "fldAvailableQty"; const string REPORTFLD_TYPE = "fldType"; const string REPORTFLD_SOURCE = "fldSource"; const string REPORTFLD_SAFETYSTOCK = "fldSafetyStock"; const string REPORTFLD_LOT = "fldLot"; const string REPORTFLD_WARNING = "fldWarning"; #region QUERY COLUMMS const string CATEGORY_COL = "[Category]"; const string PARTNUMBER_COL = "[Part No.]"; const string PARTNAME_COL = "[Part Name]"; const string MODEL_COL = "[Model]"; const string STOCKUM_COL = "[Stock UM]"; const string LOCATION_COL = "[Location]"; const string OHQTY_COL = "[OH Qty]"; const string COMMITQTY_COL = "[Commit Qty]"; const string AVAILABLEQTY_COL = "[Available Qty]"; const string TYPE_COL = "[Type]"; const string SOURCE_COL = "[Source]"; const string SAFETYSTOCK_COL = "[Safety Stock]"; const string LOT_COL = "[Lot]"; const string WARNING_COL = "[Warning]"; #endregion #endregion #region GETTING THE PARAMETER PCSComUtils.Common.BO.UtilsBO boUtil = new PCSComUtils.Common.BO.UtilsBO(); PCSComUtils.Framework.ReportFrame.BO.C1PrintPreviewDialogBO objBO = new PCSComUtils.Framework.ReportFrame.BO.C1PrintPreviewDialogBO(); string strCCN = boUtil.GetCCNCodeFromID(int.Parse(pstrCCNID)); string strMasterLocation = objBO.GetMasterLocationCodeFromID(int.Parse(pstrMasterLocationID)) + ": " + objBO.GetMasterLocationNameFromID(int.Parse(pstrMasterLocationID)); string strCategory = string.Empty; try { strCategory = objBO.GetCategoryCodeFromID(pstrCategoryID); } catch {} #endregion float fActualPageSize = 9000f; #region Build dtbResult DataTable DataTable dtbResult; try { dtbResult = GetInventoryStatusData(pstrCCNID, pstrMasterLocationID, pstrCategoryID, pstrParameterModel); } catch { dtbResult = new DataTable(); } #endregion ReportBuilder objRB; objRB = new ReportBuilder(); objRB.ReportName = REPORT_NAME; objRB.SourceDataTable = dtbResult; #region INIT REPORT BUIDER OBJECT try { objRB.ReportDefinitionFolder = mstrReportDefinitionFolder; objRB.ReportLayoutFile = REPORT_LAYOUT_FILE; if (objRB.AnalyseLayoutFile() == false) { // PCSMessageBox.Show(ErrorCode.MESSAGE_REPORT_TEMPLATE_FILE_NOT_FOUND, MessageBoxIcon.Error); return(new DataTable()); } //objRB.UseLayoutFile = objRB.AnalyseLayoutFile(); // use layout file if any , auto drawing if not found layout file objRB.UseLayoutFile = true; // always use layout file } catch { objRB.UseLayoutFile = false; // PCSMessageBox.Show(ErrorCode.MESSAGE_REPORT_TEMPLATE_FILE_NOT_FOUND,MessageBoxIcon.Error); } C1.C1Report.Layout objLayout = objRB.Report.Layout; fActualPageSize = objLayout.PageSize.Width - (float)objLayout.MarginLeft - (float)objLayout.MarginRight; #endregion objRB.MakeDataTableForRender(); //grid.DataSource = objRB.RenderDataTable; #region RENDER TO PRINT PREVIEW // and show it in preview dialog PCSUtils.Framework.ReportFrame.C1PrintPreviewDialog printPreview = new PCSUtils.Framework.ReportFrame.C1PrintPreviewDialog(); printPreview.FormTitle = REPORT_NAME; objRB.ReportViewer = printPreview.ReportViewer; objRB.RenderReport(); #region COMPANY INFO header information get from system params // try // { // objRB.DrawPredefinedField(REPORTFLD_COMPANY,SystemProperty.SytemParams.Get(SystemParam.COMPANY_NAME)); // } // catch{} // try // { // objRB.DrawPredefinedField(REPORTFLD_ADDRESS,SystemProperty.SytemParams.Get(SystemParam.ADDRESS)); // } // catch{} // try // { // objRB.DrawPredefinedField(REPORTFLD_TEL,SystemProperty.SytemParams.Get(SystemParam.TEL)); // } // catch{} // try // { // objRB.DrawPredefinedField(REPORTFLD_FAX,SystemProperty.SytemParams.Get(SystemParam.FAX)); // } // catch{} #endregion #region DRAW Parameters const string CCN = "CCN"; const string MASTER_LOCATION = "Master Location"; const string LOCATION = "Location"; const string CATEGORY = "Category"; const string MODEL = "Model"; System.Collections.Specialized.NameValueCollection arrParamAndValue = new System.Collections.Specialized.NameValueCollection(); arrParamAndValue.Add(CCN, strCCN); arrParamAndValue.Add(MASTER_LOCATION, strMasterLocation); if (pstrCategoryID.Trim() != string.Empty) { arrParamAndValue.Add(CATEGORY, strCategory); } if (pstrParameterModel.Trim() != string.Empty) { arrParamAndValue.Add(MODEL, pstrParameterModel); } /// anchor the Parameter drawing canvas cordinate to the fldTitle C1.C1Report.Field fldTitle = objRB.GetFieldByName(REPORTFLD_TITLE); double dblStartX = fldTitle.Left; double dblStartY = fldTitle.Top + 1.3 * fldTitle.RenderHeight; objRB.GetSectionByName(PAGE + HEADER).CanGrow = true; objRB.DrawParameters(objRB.GetSectionByName(PAGE + HEADER), dblStartX, dblStartY, arrParamAndValue, objRB.Report.Font.Size); #endregion /// there are some hardcode numbers here /// but these numbers are use ONLY ONE and ONLY USED HERE, so we don't need to define constant for it. objRB.DrawBoxGroup_Madeby_Checkedby_Approvedby(objRB.GetSectionByName(PAGE + HEADER), 16005 - 1400 - 1400 - 1400, 600, 1400, 1300, 200); #region DAY--MONTH--YEAR INFO DateTime dtm; try { dtm = objUtilBO.GetDBDate(); } catch { dtm = DateTime.Now; } try { objRB.DrawPredefinedField(REPORTFLD_DAY, dtm.Day.ToString("00")); } catch {} try { objRB.DrawPredefinedField(REPORTFLD_MONTH, dtm.Month.ToString("00")); } catch {} try { objRB.DrawPredefinedField(REPORTFLD_YEAR, dtm.Year.ToString("0000")); } catch {} #endregion try // mapping report field with table column { objRB.DrawPredefinedField(REPORTFLD_CATEGORY, CATEGORY_COL); objRB.DrawPredefinedField(REPORTFLD_PARTNUMBER, PARTNUMBER_COL); objRB.DrawPredefinedField(REPORTFLD_PARTNAME, PARTNAME_COL); objRB.DrawPredefinedField(REPORTFLD_MODEL, MODEL_COL); objRB.DrawPredefinedField(REPORTFLD_STOCKUM, STOCKUM_COL); objRB.DrawPredefinedField(REPORTFLD_LOCATION, LOCATION_COL); objRB.DrawPredefinedField(REPORTFLD_OHQTY, OHQTY_COL); objRB.DrawPredefinedField(REPORTFLD_COMMITQTY, COMMITQTY_COL); objRB.DrawPredefinedField(REPORTFLD_AVAILABLEQTY, AVAILABLEQTY_COL); objRB.DrawPredefinedField(REPORTFLD_TYPE, TYPE_COL); objRB.DrawPredefinedField(REPORTFLD_SOURCE, SOURCE_COL); objRB.DrawPredefinedField(REPORTFLD_SAFETYSTOCK, SAFETYSTOCK_COL); objRB.DrawPredefinedField(REPORTFLD_LOT, LOT_COL); objRB.DrawPredefinedField(REPORTFLD_WARNING, WARNING_COL); } catch {} objRB.RefreshReport(); printPreview.Show(); #endregion UseReportViewerRenderEngine = false; mResult = dtbResult; return(dtbResult); }
public DataTable ExecuteReport(string pstrCCNID, string pstrCategoryID, string pstrModel, string pstrProductID) { try { const string REPORT_NAME = "ItemStandardCostReport"; const string REPORT_LAYOUT = "ItemStandardCostReport.xml"; const string RPT_PAGE_HEADER = "PageHeader"; const string RPT_TITLE_FLD = "fldTitle"; const string RPT_CURRENCY_FLD = "fldCurrency"; const string RPT_CCN_FLD = "CCN"; const string RPT_CATEGORY_FLD = "Category"; const string RPT_MODEL_FLD = "Model"; const string RPT_PART_NO_FLD = "Part No."; const string RPT_PART_NAME_FLD = "Part Name"; DataTable dtbData = BuildItemStandardCostData(pstrCCNID, pstrCategoryID, pstrModel, pstrProductID); //Create builder object ReportBuilder reportBuilder = new ReportBuilder(); //Set report name reportBuilder.ReportName = REPORT_NAME; //Set Datasource reportBuilder.SourceDataTable = dtbData; //Set report layout location reportBuilder.ReportDefinitionFolder = mstrReportDefinitionFolder; reportBuilder.ReportLayoutFile = REPORT_LAYOUT; reportBuilder.UseLayoutFile = true; reportBuilder.MakeDataTableForRender(); // and show it in preview dialog PCSUtils.Framework.ReportFrame.C1PrintPreviewDialog printPreview = new PCSUtils.Framework.ReportFrame.C1PrintPreviewDialog(); PCSComUtils.Framework.ReportFrame.BO.C1PrintPreviewDialogBO objBO = new PCSComUtils.Framework.ReportFrame.BO.C1PrintPreviewDialogBO(); //Attach report viewer reportBuilder.ReportViewer = printPreview.ReportViewer; reportBuilder.RenderReport(); reportBuilder.DrawPredefinedField(RPT_CURRENCY_FLD, GetHomeCurrency(pstrCCNID)); //Draw parameters System.Collections.Specialized.NameValueCollection arrParamAndValue = new System.Collections.Specialized.NameValueCollection(); string strCode = GetCCNInfoByID(pstrCCNID); arrParamAndValue.Add(RPT_CCN_FLD, strCode); //Category if (pstrCategoryID != null && pstrCategoryID != string.Empty) { strCode = objBO.GetCategoryCodeFromID(pstrCategoryID); arrParamAndValue.Add(RPT_CATEGORY_FLD, strCode); } //Model if (pstrModel != null && pstrModel != string.Empty) { arrParamAndValue.Add(RPT_MODEL_FLD, pstrModel); } //Product Information if (pstrProductID != null && pstrProductID != string.Empty) { Hashtable htbProductInfo = GetProductInfoByID(pstrProductID); arrParamAndValue.Add(RPT_PART_NO_FLD, htbProductInfo[CODE_FLD].ToString()); arrParamAndValue.Add(RPT_PART_NAME_FLD, htbProductInfo[DESCRIPTION_FLD].ToString()); if (pstrModel == string.Empty || pstrModel == null) { arrParamAndValue.Add(RPT_MODEL_FLD, htbProductInfo[REVISION_FLD].ToString()); } else { arrParamAndValue[RPT_MODEL_FLD] = htbProductInfo[REVISION_FLD].ToString(); } } //Anchor the Parameter drawing canvas cordinate to the fldTitle C1.C1Report.Field fldTitle = reportBuilder.GetFieldByName(RPT_TITLE_FLD); double dblStartX = fldTitle.Left; double dblStartY = fldTitle.Top + 1.3 * fldTitle.RenderHeight; reportBuilder.GetSectionByName(RPT_PAGE_HEADER).CanGrow = true; reportBuilder.DrawParameters(reportBuilder.GetSectionByName(RPT_PAGE_HEADER), dblStartX, dblStartY, arrParamAndValue, reportBuilder.Report.Font.Size); try { printPreview.FormTitle = reportBuilder.GetFieldByName(RPT_TITLE_FLD).Text; } catch { } reportBuilder.RefreshReport(); printPreview.Show(); return(dtbData); } catch (Exception ex) { throw ex; } }