Files
raven/server/AyaNova/DataList/EventDataList.cs
2021-01-29 21:31:09 +00:00

116 lines
4.1 KiB
C#

using System.Collections.Generic;
using AyaNova.Biz;
namespace AyaNova.DataList
{
internal class EventDataList : DataListProcessingBase
{/*
Select aevent.id, aevent.created, aevent.ayid, aevent.ayatype, aevent.ayevent,
aevent.textra, auser.name, auser.id
from aevent
left join auser on (aevent.userid=auser.id)
*/
public EventDataList()
{
//NOTE: used this type because it's full BizFull and read only BizLimited only which is appropriate and there is no event type
DefaultListObjectType = AyaType.Global;
SQLFrom = "from aevent left join auser on (aevent.userid=auser.id)";
var RoleSet = BizRoles.GetRoleSet(DefaultListObjectType);
AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change;
// //Default ListView
// dynamic dlistView = new JArray();
// dynamic cm = new JObject();
// cm.fld = "eventcreated";
// cm.sort = "-";
// dlistView.Add(cm);
// cm = new JObject();
// cm.fld = "event";
// dlistView.Add(cm);
// cm = new JObject();
// cm.fld = "object";
// dlistView.Add(cm);
// cm = new JObject();
// cm.fld = "AyaType";
// dlistView.Add(cm);
// cm = new JObject();
// cm.fld = "username";
// dlistView.Add(cm);
// cm = new JObject();
// cm.fld = "textra";
// dlistView.Add(cm);
// DefaultListView = dlistView.ToString(Newtonsoft.Json.Formatting.None);
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)",
SqlAyTypeColumnName = "aevent.ayatype"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
FieldKey = "username",
TKey = "User",
UiFieldDataType = (int)UiFieldDataType.Text,
AyaObjectType = (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