This commit is contained in:
2020-01-21 00:47:26 +00:00
parent efa2acc930
commit 426f0c9c9c
3 changed files with 112 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
using AyaNova.Biz;
namespace AyaNova.DataList
{
//This class defines a field used for returning data in list format for UI grid lists and reporting
public class AyaDataListFieldDefinition
{
//CLIENT / SERVER Unique identifier used at BOTH client and server
//also the sql displaycolumnname if identical
public string FieldKey { get; set; }
//CLIENT Use only for display
public string LtKey { get; set; }
//CLIENT / SERVER - client display server validation purposes
public bool IsCustomField { get; set; }
//CLIENT / SERVER - client display server validation purposes
public bool IsFilterable { get; set; }
//CLIENT / SERVER - client display server validation purposes
public bool IsSortable { get; set; }
//CLIENT Use only for display
public int UiFieldDataType { get; set; }
//CLIENT Use only for display
public string EnumType { get; set; }
//CLIENT / SERVER - client display and to indicate what object to open , Server for formatting return object
public int AyaObjectType { get; set; }
//SERVER - for building sql queries
public string SqlIdColumnName { get; set; }
public string SqlValueColumnName { get; set; }
public AyaDataListFieldDefinition()
{
//most common defaults
IsCustomField = false;
IsFilterable = true;
IsSortable = true;
//Set openable object type to no type which is the default and means it's not a link to another object
AyaObjectType = (int)AyaType.NoType;
}
//Get column to query for display name or use FieldName if there is no difference
public string GetSqlValueColumnName()
{
if (string.IsNullOrEmpty(SqlValueColumnName))
{
return FieldKey.ToLowerInvariant();
}
else
{
return SqlValueColumnName;
}
}
}
}

View File

@@ -0,0 +1,20 @@
using System.Collections.Generic;
using AyaNova.Biz;
namespace AyaNova.DataList
{
internal interface IAyaDataList
{
//Unique key to identify this list
string ListKey { get; }
//sql query from fragment with table joins et
string SQLFrom { get; }
//List of fields for this object
List<AyaDataListFieldDefinition> FieldDefinitions { get; }
//allowed roles to access this list
public AuthorizationRoles AllowedRoles { get; }
}
}