public LinkedReference CreateLinkedReference(string sLinkText, string sURL) { LinkedReference oLinkedReference = new LinkedReference(); oLinkedReference.URL = sURL; oLinkedReference.LinkText = sLinkText; return(oLinkedReference); }
public LinkedReference GetLinkedReference(string sLinkText) { LinkedReference oLinkedRef; LinkedReference oReturn = null; int i; for (i = 0; i < aLinkedReferences.Count; i++) { oLinkedRef = (LinkedReference)aLinkedReferences[i]; if (oLinkedRef.LinkText == sLinkText) { oReturn = oLinkedRef; break; } } return(oReturn); }
public ReportLibrary(SqlConnection oConn) { SqlCommand oCmd = new SqlCommand(); DataSet oDataSet = new DataSet(); SqlDataAdapter oAdapter; SqlParameter oSqlParam; SqlDataReader oReader; DataTable oTable; Report oReport; Parameter oParam; LinkedReference oLinkRef; Guid gReportID; int nLinkID; oCmd.Connection = oConn; oCmd.CommandTimeout = 90; oCmd.CommandType = CommandType.StoredProcedure; oCmd.CommandText = "spRPTGetReports"; oAdapter = new SqlDataAdapter(oCmd); oAdapter.Fill(oDataSet, "tblReports"); oTable = oDataSet.Tables["tblReports"]; oSqlParam = new SqlParameter(); oSqlParam.ParameterName = "@ReportID"; oSqlParam.Direction = ParameterDirection.Input; oSqlParam.SqlDbType = SqlDbType.UniqueIdentifier; oSqlParam.Size = 16; oCmd.Parameters.Add(oSqlParam); for (int i = 0; i < oTable.Rows.Count; i++) { gReportID = new Guid(oTable.Rows[i]["ReportID"].ToString()); nLinkID = 0; oReport = new Report(); oReport.ID = new Guid(oTable.Rows[i]["ReportID"].ToString()); oReport.Name = oTable.Rows[i]["ReportName"].ToString(); oReport.Source = oTable.Rows[i]["CommandText"].ToString(); oReport.Description = oTable.Rows[i]["ReportDesc"].ToString(); #region Set the command type for the report. //Set the command type. switch (oTable.Rows[i]["ReportType"].ToString()) { // case "CrystalReport": // oReport.Type = Report.ReportTypes.CrystalReport; // break; // case "StoredProc": oReport.Type = Report.ReportTypes.StoredProcedure; break; case "EmbeddedSQL": oReport.Type = Report.ReportTypes.EmbeddedSQL; break; case "CustomReport": oReport.Type = Report.ReportTypes.CustomReport; break; case "SQLReport": oReport.Type = Report.ReportTypes.SQLReport; break; default: break; } #endregion #region Set the Report Category. oReport.Category = oTable.Rows[i]["ReportCategory"].ToString(); #endregion #region Lookup and Set any Parameters oCmd.CommandText = "spRPTGetReportParamsByReportID"; oCmd.Parameters["@ReportID"].Value = new Guid(oTable.Rows[i]["ReportID"].ToString()); oReader = oCmd.ExecuteReader(); oLinkRef = new LinkedReference(); while (oReader.Read()) { oParam = new Parameter(); oParam.Name = oReader["ParameterName"].ToString(); oParam.FriendlyName = oReader["FriendlyName"].ToString(); oParam.Length = Convert.ToInt16(oReader["Length"].ToString()); oParam.DataType = oReader["ParameterDataType"].ToString(); oParam.IsRequired = Convert.ToBoolean(oReader["IsRequired"]); if (oReader["DataSourceTypeID"].ToString() != "") { #region Set the Parameter's Data Source Information if it Exists oParam.DataSource = oReader["DataSourceLocation"].ToString(); oParam.DataSourceIDField = oReader["DataSourceIDField"].ToString(); oParam.DataSourceTextField = oReader["DataSourceTextField"].ToString(); switch (oReader["DataSourceType"].ToString().ToLower()) { case "sqlstring": oParam.DataSourceType = Parameter.DataSourceTypes.SQLString; break; case "storedproc": oParam.DataSourceType = Parameter.DataSourceTypes.StoredProc; break; case "xmlfile": oParam.DataSourceType = Parameter.DataSourceTypes.XMLFile; break; default: oParam.DataSourceType = Parameter.DataSourceTypes.Empty; break; } #endregion } oReport.AddParameter(oParam); } oReader.Close(); #endregion #region Lookup and Set any Linked References and their Parameters oCmd.CommandText = "spRPTGetLinkedColumnsByReportID"; oReader = oCmd.ExecuteReader(); while (oReader.Read()) { if (nLinkID != Convert.ToInt32(oReader["LinkedColumnID"].ToString())) { oLinkRef = new LinkedReference(); oLinkRef.LinkText = oReader["LinkTextSource"].ToString(); oLinkRef.URL = oReader["LinkLocation"].ToString(); nLinkID = Convert.ToInt32(oReader["LinkedColumnID"].ToString()); } if (oReader["LinkParameterID"].ToString() != "") { oLinkRef.AddURLParam(oReader["LinkParameterName"].ToString()); } oReport.AddLinkedReference(oLinkRef); } oReader.Close(); #endregion this.AddReport(oReport); } }
public void AddLinkedReference(LinkedReference oLinkedReference) { aLinkedReferences.Add(oLinkedReference); }
public Report(Guid gID, SqlConnection oConn) { #region Construct a Report from the Report ID and a SQL Connection SqlDataReader oReader; SqlCommand oCmd = new SqlCommand(); oCmd.Connection = oConn; oCmd.CommandTimeout = 90; oCmd.CommandType = CommandType.StoredProcedure; oCmd.CommandText = "spRPTGetAllReportInfoByReportID"; oCmd.Parameters.AddWithValue("@ReportID", gID); if (oConn.State != ConnectionState.Open) { oConn.Open(); } DataSet oDataSet = new DataSet(); SqlDataAdapter oAdapter = new SqlDataAdapter(oCmd); oAdapter.Fill(oDataSet, "tblReports"); DataTable oTable = oDataSet.Tables["tblReports"]; if (oTable.Rows.Count > 0) { this.gReportID = new Guid(oTable.Rows[0]["ReportID"].ToString()); this.sReportName = oTable.Rows[0]["ReportName"].ToString(); this.sReportSource = oTable.Rows[0]["CommandText"].ToString(); this.sReportDesc = oTable.Rows[0]["ReportDesc"].ToString(); switch (oTable.Rows[0]["ReportTypeID"].ToString()) { // case "1": // this.nReportType = ReportTypes.CrystalReport; // break; case "2": this.nReportType = ReportTypes.StoredProcedure; break; case "3": this.nReportType = ReportTypes.EmbeddedSQL; break; case "4": this.nReportType = ReportTypes.CustomReport; break; case "5": this.nReportType = ReportTypes.SQLReport; break; default: this.nReportType = ReportTypes.EmbeddedSQL; break; } #region Set the command type for the report. //Set the command type. switch (oTable.Rows[0]["ReportType"].ToString()) { case "StoredProc": this.nReportType = Report.ReportTypes.StoredProcedure; break; case "EmbeddedSQL": this.nReportType = Report.ReportTypes.EmbeddedSQL; break; case "CustomReport": this.nReportType = Report.ReportTypes.CustomReport; break; case "SQLReport": this.nReportType = Report.ReportTypes.SQLReport; break; default: break; } #endregion #region Set the Report Category. this.sReportCategory = oTable.Rows[0]["ReportCategory"].ToString(); #endregion #region Lookup and Set any Parameters oCmd.CommandText = "spRPTGetReportParamsByReportID"; oCmd.Parameters["@ReportID"].Value = gID; oReader = oCmd.ExecuteReader(); LinkedReference oLinkRef; Parameter oParam; oLinkRef = new LinkedReference(); while (oReader.Read()) { oParam = new Parameter(); oParam.Name = oReader["ParameterName"].ToString(); oParam.FriendlyName = oReader["FriendlyName"].ToString(); oParam.Length = Convert.ToInt16(oReader["Length"].ToString()); oParam.DataType = oReader["ParameterDataType"].ToString(); oParam.IsRequired = Convert.ToBoolean(oReader["IsRequired"]); if (oReader["DataSourceTypeID"].ToString() != "") { #region Set the Parameter's Data Source Information if it Exists oParam.DataSource = oReader["DataSourceLocation"].ToString(); oParam.DataSourceIDField = oReader["DataSourceIDField"].ToString(); oParam.DataSourceTextField = oReader["DataSourceTextField"].ToString(); switch (oReader["DataSourceType"].ToString().ToLower()) { case "sqlstring": oParam.DataSourceType = Parameter.DataSourceTypes.SQLString; break; case "storedproc": oParam.DataSourceType = Parameter.DataSourceTypes.StoredProc; break; case "xmlfile": oParam.DataSourceType = Parameter.DataSourceTypes.XMLFile; break; default: oParam.DataSourceType = Parameter.DataSourceTypes.Empty; break; } #endregion } this.AddParameter(oParam); } oReader.Close(); #endregion int nLinkID = 0; #region Lookup and Set any Linked References and their Parameters oCmd.CommandText = "spRPTGetLinkedColumnsByReportID"; oReader = oCmd.ExecuteReader(); while (oReader.Read()) { if (nLinkID != Convert.ToInt32(oReader["LinkedColumnID"].ToString())) { oLinkRef = new LinkedReference(); oLinkRef.LinkText = oReader["LinkTextSource"].ToString(); oLinkRef.URL = oReader["LinkLocation"].ToString(); oLinkRef.OpenInNewWindow = Convert.ToBoolean(oReader["NewWindow"].ToString()); nLinkID = Convert.ToInt32(oReader["LinkedColumnID"].ToString()); } if (oReader["LinkParameterID"].ToString() != "") { oLinkRef.AddURLParam(oReader["LinkParameterName"].ToString()); } this.AddLinkedReference(oLinkRef); } oReader.Close(); #endregion } #endregion }