📄 metadataxmlprovider.cs
字号:
#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 + -