79 lines
2.8 KiB
C#
79 lines
2.8 KiB
C#
using System.Collections.Generic;
|
|
using Newtonsoft.Json.Linq;
|
|
using AyaNova.Biz;
|
|
namespace AyaNova.PickList
|
|
{
|
|
internal class WidgetPickList : AyaPickList
|
|
{
|
|
public WidgetPickList()
|
|
{
|
|
DefaultListObjectType = AyaType.Widget;
|
|
SQLFrom = "from awidget left outer join auser on (awidget.userid=auser.id)";
|
|
AllowedRoles = BizRoles.GetRoleSet(DefaultListObjectType).Select;
|
|
|
|
//Default template
|
|
dynamic dTemplate = new JArray();
|
|
|
|
dynamic cm = new JObject();
|
|
cm.fld = "widgetname";
|
|
dTemplate.Add(cm);
|
|
|
|
cm = new JObject();
|
|
cm.fld = "widgetserial";
|
|
dTemplate.Add(cm);
|
|
|
|
cm = new JObject();
|
|
cm.fld = "username";
|
|
dTemplate.Add(cm);
|
|
|
|
base.DefaultTemplate = dTemplate.ToString(Newtonsoft.Json.Formatting.None);
|
|
|
|
//NOTE: Due to the join, all the sql id and name fields that can conflict with the joined (in this case User) table need to be specified completely
|
|
ColumnDefinitions = new List<AyaPickListFieldDefinition>();
|
|
ColumnDefinitions.Add(new AyaPickListFieldDefinition
|
|
{
|
|
LtKey = "Active",
|
|
FieldKey = "widgetactive",
|
|
ColumnDataType = UiFieldDataType.Bool,
|
|
SqlValueColumnName = "awidget.active",
|
|
IsActiveColumn = true
|
|
});
|
|
|
|
ColumnDefinitions.Add(new AyaPickListFieldDefinition
|
|
{
|
|
LtKey = "WidgetName",
|
|
FieldKey = "widgetname",
|
|
//AyaObjectType = AyaType.Widget,
|
|
ColumnDataType = UiFieldDataType.Text,
|
|
SqlIdColumnName = "awidget.id",
|
|
SqlValueColumnName = "awidget.name",
|
|
IsRowId = true
|
|
});
|
|
|
|
ColumnDefinitions.Add(new AyaPickListFieldDefinition
|
|
{
|
|
LtKey = "WidgetSerial",
|
|
FieldKey = "widgetserial",
|
|
ColumnDataType = UiFieldDataType.Integer,
|
|
SqlValueColumnName = "awidget.serial"
|
|
});
|
|
|
|
ColumnDefinitions.Add(new AyaPickListFieldDefinition
|
|
{
|
|
FieldKey = "username",
|
|
LtKey = "User",
|
|
ColumnDataType = UiFieldDataType.Text,
|
|
SqlIdColumnName = "auser.id",
|
|
SqlValueColumnName = "auser.name"
|
|
});
|
|
|
|
ColumnDefinitions.Add(new AyaPickListFieldDefinition
|
|
{
|
|
LtKey = "Tags",
|
|
FieldKey = "widgettags",
|
|
ColumnDataType = UiFieldDataType.Tags,
|
|
SqlValueColumnName = "awidget.tags"
|
|
});
|
|
}
|
|
}//eoc
|
|
}//eons |