Exemplo n.º 1
0
        public LinkedReference CreateLinkedReference(string sLinkText, string sURL)
        {
            LinkedReference oLinkedReference = new LinkedReference();

            oLinkedReference.URL      = sURL;
            oLinkedReference.LinkText = sLinkText;

            return(oLinkedReference);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
 public void AddLinkedReference(LinkedReference oLinkedReference)
 {
     aLinkedReferences.Add(oLinkedReference);
 }
Exemplo n.º 5
0
        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
        }