Files
raven/server/AyaNova/DataList/EventDataList.cs

74 lines
3.0 KiB
C#

using System.Collections.Generic;
using AyaNova.Biz;
namespace AyaNova.DataList
{
internal class EventDataList : DataListProcessingBase
{
public EventDataList()
{
//NOTE: used this type because it's full BizFull and read only Bizrestricted only which is appropriate and there is no event type
DefaultListAType = AyaType.Global;
SQLFrom = "from aevent left join auser on (aevent.userid=auser.id)";
var RoleSet = BizRoles.GetRoleSet(DefaultListAType);
AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change;
DefaultColumns = new List<string>() { "eventcreated", "event", "object", "AyaType", "username", "textra" };
DefaultSortBy = new Dictionary<string, string>() { { "eventcreated", "-" } };
FieldDefinitions = new List<DataListFieldDefinition>();
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "EventCreated",
FieldKey = "eventcreated",
UiFieldDataType = (int)UiFieldDataType.DateTime,
SqlValueColumnName = "aevent.created"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "Event",
FieldKey = "event",
UiFieldDataType = (int)UiFieldDataType.Enum,
EnumType = AyaNova.Util.StringUtil.TrimTypeName(typeof(AyaEvent).ToString()),
SqlValueColumnName = "aevent.ayevent"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "AyaType",
FieldKey = "AyaType",
UiFieldDataType = (int)UiFieldDataType.Enum,
EnumType = AyaNova.Util.StringUtil.TrimTypeName(typeof(AyaType).ToString()),
SqlValueColumnName = "aevent.ayatype"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "Object",
FieldKey = "object",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlIdColumnName = "aevent.ayid",
SqlValueColumnName = $"AYGETNAME(aevent.ayid, aevent.ayatype,{CurrentUserTranslationId})",
SqlATypeColumnName = "aevent.ayatype"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
FieldKey = "username",
TKey = "User",
UiFieldDataType = (int)UiFieldDataType.Text,
AType = (int)AyaType.User,
SqlIdColumnName = "auser.id",
SqlValueColumnName = "auser.name"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "EventTextra",
FieldKey = "textra",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "aevent.textra"
});
}
}//eoc
}//eons