⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 metadataxmlprovider.cs

📁 EpiInfo 开源的导航系统远程序,不知道在哪里下的了,分享一下,有兴趣的
💻 CS
📖 第 1 页 / 共 5 页
字号:
                #region Input Validation
                if (viewID < 1)
                {
                    throw new ArgumentOutOfRangeException("ViewId");
                }
                #endregion

                Query query = db.CreateQuery("SELECT V.[ViewID], V.[Name], V.[CheckCodeAfter] " +
                    "FROM metaViews V " +
                    "WHERE V.[ViewId] = @ViewID");
                query.Parameters.Add(new QueryParameter("@ViewID", DbType.Int32, viewID));
                return db.Select(query);
            }
            catch (Exception ex)
            {
                throw new GeneralException("Could not retrieve view's check code", ex);
            }
        }

        /// <summary>
        /// Gets a view's variable check code
        /// </summary>
        /// <param name="viewID">Id of the view</param>
        /// <returns>Datatable containing variable check code info</returns>
        [Obsolete("Use of DataTable in this context is no different than the use of a multidimensional System.Object array (not recommended).", false)]
        public DataTable GetCheckCodeVariableDefinition(int viewID)
        {
            try
            {
                #region Input Validation
                if (viewID < 1)
                {
                    throw new ArgumentOutOfRangeException("ViewId");
                }
                #endregion

                Query query = db.CreateQuery("SELECT V.[ViewID], V.[Name], V.[CheckCodeVariableDefinitions] " +
                    "FROM metaViews V " +
                    "WHERE V.[ViewID] = @ViewID");
                query.Parameters.Add(new QueryParameter("@ViewID", DbType.Int32, viewID));
                return db.Select(query);
            }
            catch (Exception ex)
            {
                throw new GeneralException("Could not retrieve check code variables", ex);
            }
        }

        /// <summary>
        /// Gets a view's record check code for the "Before" event
        /// </summary>
        /// <param name="viewID">Id of the view</param>
        /// <returns>Datatable containing record check code info</returns>
        [Obsolete("Use of DataTable in this context is no different than the use of a multidimensional System.Object array (not recommended).", false)]
        public DataTable GetRecordCheckCode_Before(int viewID)
        {
            try
            {
                #region Input Validation
                if (viewID < 1)
                {
                    throw new ArgumentOutOfRangeException("ViewId");
                }
                #endregion

                Query query = db.CreateQuery("SELECT V.[ViewID], V.[Name], V.[RecordCheckCodeBefore] " +
                    "FROM metaViews V " +
                    "WHERE v.[ViewID] = @ViewID");
                query.Parameters.Add(new QueryParameter("@ViewID", DbType.Int32, viewID));
                return db.Select(query);
            }
            catch (Exception ex)
            {
                throw new GeneralException("Could not retrieve record check code", ex);
            }
        }


        /// <summary>
        /// Gets a FieldId based on a view name and a field name
        /// </summary>
        /// <param name="viewName">Name of the view</param>
        /// <param name="fieldName">Name of the field</param>
        /// <returns>Id of the control</returns>
        public DataRow GetFieldByNameAsDataRow(string viewName, string fieldName)
        {
            try
            {
                Query query = db.CreateQuery("SELECT [FieldId] FROM (metaFields f INNER JOIN metaViews v ON v.[ViewId] = f.[ViewId]) WHERE v.[Name] = @ViewName AND f.[Name] = @FieldName");
                query.Parameters.Add(new QueryParameter("@ViewName", DbType.String, viewName));
                query.Parameters.Add(new QueryParameter("@FieldName", DbType.String, fieldName));
                DataTable dt = db.Select(query);
                if (dt.Rows.Count == 0)
                {
                    throw new GeneralException("Field not found");
                }
                return dt.Rows[0];
            }
            catch (Exception ex)
            {
                throw new GeneralException("Could not retrieve control based on view and field name", ex);
            }
        }

        /// <summary>
        /// Gets a view object based on view id
        /// </summary>
        /// <param name="viewId">Id of the view</param>
        /// <returns>A view object</returns>
        public View GetViewById(int viewId)
        {
            try
            {
                Query query = db.CreateQuery("SELECT [ViewId], [Name], [CheckCodeBefore], [CheckCodeAfter], [RecordCheckCodeBefore], [RecordCheckCodeAfter], [CheckCodeVariableDefinitions], [IsRelatedView] " +
                    "FROM metaViews " +
                    "WHERE [ViewId] = @ViewId");
                query.Parameters.Add(new QueryParameter("@ViewId", DbType.Int32, viewId));
                DataTable results = db.Select(query);
                if (results.Rows.Count > 0)
                {
                    return new View(results.Rows[0], Project);
                }
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw new GeneralException("Could not retrieve view", ex);
            }
        }

        /// <summary>
        /// Gets a view's record check code for the "After" event
        /// </summary>
        /// <param name="viewID">Id of the view</param>
        /// <returns>Datatable containing record check code info</returns>
        [Obsolete("Use of DataTable in this context is no different than the use of a multidimensional System.Object array (not recommended).", false)]
        public DataTable GetRecordCheckCode_After(int viewID)
        {
            try
            {
                #region Input Validation
                if (viewID < 1)
                {
                    throw new ArgumentOutOfRangeException("ViewId");
                }
                #endregion

                Query query = db.CreateQuery("SELECT V.[ViewID], V.[Name], V.[RecordCheckCodeAfter] " +
                    "FROM metaViews V " +
                    "WHERE v.[ViewID] = @ViewID");
                query.Parameters.Add(new QueryParameter("@ViewID", DbType.Int32, viewID));
                return db.Select(query);
            }
            catch (Exception ex)
            {
                throw new GeneralException("Could not retrieve record check code", ex);
            }
        }

        /// <summary>
        /// Gets a page's check code for the "Before" event
        /// </summary>
        /// <param name="pageID">Id of the page</param>
        /// <returns>Datatable containing page check code info</returns>
        public DataTable GetPageCheckCode_Before(int pageID)
        {
            try
            {
                #region Input Validation
                if (pageID < 1)
                {
                    throw new ArgumentOutOfRangeException("PageId");
                }
                #endregion

                Query query = db.CreateQuery("SELECT P.[PageID], P.[Name], P.[CheckCodeBefore] " +
                    "FROM metaPages P " +
                    "WHERE P.[PageID] = @PageID");
                query.Parameters.Add(new QueryParameter("@PageID", DbType.Int32, pageID));
                return db.Select(query);
            }
            catch (Exception ex)
            {
                throw new GeneralException("Could not retrieve page check code", ex);
            }
        }

        /// <summary>
        /// Gets a page's check code for the "After" event
        /// </summary>
        /// <param name="pageID">Id of the page</param>
        /// <returns>Datatable containing page check code info</returns>
        public DataTable GetPageCheckCode_After(int pageID)
        {
            try
            {
                #region Input Validation
                if (pageID < 1)
                {
                    throw new ArgumentOutOfRangeException("PageId");
                }
                #endregion

                Query query = db.CreateQuery("SELECT P.[PageID], P.[Name], P.[CheckCodeAfter] " +
                    "FROM metaPages P " +
                    "WHERE P.[PageID] = @PageID");
                query.Parameters.Add(new QueryParameter("@PageID", DbType.Int32, pageID));
                return db.Select(query);
            }
            catch (Exception ex)
            {
                throw new GeneralException("Could not retrieve page check code", ex);
            }
        }

        /// <summary>
        /// Gets a control's check code for the "Before" event
        /// </summary>
        /// <param name="fieldID">Id of the field</param>
        /// <returns>Datatable containing field check code info</returns>
        public DataTable GetFieldCheckCode_Before(int fieldID)
        {
            try
            {
                #region Input Validation
                if (fieldID < 1)
                {
                    throw new ArgumentOutOfRangeException("FieldId");
                }
                #endregion

                Query query = db.CreateQuery("SELECT [CheckCodeBefore], [Name] FROM metaFields " +
                    "WHERE [FieldID] = @FieldID");
                //				DbQuery query = db.CreateQuery("SELECT T.[ControlID], T.[CheckCodeBefore], F.[Name] " +
                //					"FROM metaControls T " +
                //					"LEFT JOIN metaFields F On F.[FieldID] = T.[FieldID] " +
                //					"WHERE T.[FieldID] = @FieldID");
                query.Parameters.Add(new QueryParameter("@FieldID", DbType.Int32, fieldID));
                return db.Select(query);
            }
            catch (Exception ex)
            {
                throw new GeneralException("Could not retrieve control check code", ex);
            }
        }

        /// <summary>
        /// Gets a control's check code for the "After" event
        /// </summary>
        /// <param name="fieldID">Id of the field</param>
        /// <returns>Datatable containing field check code info</returns>
        public DataTable GetFieldCheckCode_After(int fieldID)
        {
            try
            {
                #region Input Validation
                if (fieldID < 1)
                {
                    throw new ArgumentOutOfRangeException("FieldId");
                }
                #endregion

                Query query = db.CreateQuery("SELECT [CheckCodeAfter], [Name] FROM metaFields " +
                    //				DbQuery query = db.CreateQuery("SELECT T.[ControlID], T.[CheckCodeAfter], F.[Name] " +
                    //					"FROM metaControls T " +
                    //					"LEFT JOIN metaFields F On F.[FieldID] = T.[FieldID] " +
                    "WHERE [FieldID] = @FieldID");
                query.Parameters.Add(new QueryParameter("@FieldID", DbType.Int32, fieldID));
                return db.Select(query);
            }
            catch (Exception ex)
            {
                throw new GeneralException("Could not retrieve control check code", ex);
            }
        }

        /// <summary>
        /// Returns check codes for views, records, and variables
        /// </summary>
        /// <param name="viewID">View ID</param>
        /// <returns>datatable</returns>
        public DataTable GetViewRecordVarCheckCodes(int viewID)
        {
            try
            {
                #region Input Validation
                if (viewID < 1)
                {
                    throw new ArgumentOutOfRangeException("ViewId");
                }
                #endregion

                Query query = db.CreateQuery("SELECT [ViewID], [Name], [CheckCodeBefore], [CheckCodeAfter], " +
                    "[RecordCheckCodeBefore], [RecordCheckCodeAfter], [CheckCodeVariableDefinitions] " +
                    "FROM metaViews " +
                    "WHERE [ViewID] = @ViewID");
                query.Parameters.Add(new QueryParameter("@ViewID", DbType.Int32, viewID));
                return db.Select(query);
            }
            catch (Exception ex)
            {
                throw new GeneralException("Could not retrieve check codes for views, records, and variables", ex);
            }
        }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -