using System.Collections.Generic; using Newtonsoft.Json.Linq; using AyaNova.Biz; namespace AyaNova.DataList { internal class AttachmentDataList : AyaDataList { public AttachmentDataList() { DefaultListObjectType = AyaType.FileAttachment; SQLFrom = "from afileattachment"; var RoleSet = BizRoles.GetRoleSet(DefaultListObjectType); AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change; //Default ListView dynamic dlistView = new JArray(); dynamic cm = new JObject(); cm.fld = "displayfilename"; dlistView.Add(cm); cm = new JObject(); cm.fld = "ayatype"; dlistView.Add(cm); cm = new JObject(); cm.fld = "size"; cm.sort = "-"; dlistView.Add(cm); cm = new JObject(); cm.fld = "notes"; dlistView.Add(cm); cm = new JObject(); cm.fld = "exists"; dlistView.Add(cm); DefaultListView = dlistView.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 FieldDefinitions = new List(); //DPRECATED FieldDefinitions.Add(new AyaDataListFieldDefinition { FieldKey = "df", AyaObjectType = (int)AyaType.User, SqlIdColumnName = "auser.id" }); FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "FileAttachment", FieldKey = "displayfilename", AyaObjectType = (int)AyaType.FileAttachment, UiFieldDataType = (int)UiFieldDataType.Text, SqlIdColumnName = "afileattachment.id", SqlValueColumnName = "afileattachment.displayfilename", IsRowId = true }); FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "AttachmentExists", FieldKey = "exists", UiFieldDataType = (int)UiFieldDataType.Bool, SqlValueColumnName = "afileattachment.exists" }); FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "AyaType", FieldKey = "ayatype", UiFieldDataType = (int)UiFieldDataType.Enum, EnumType = AyaNova.Util.StringUtil.TrimTypeName(typeof(AyaType).ToString()), SqlValueColumnName = "afileattachment.AttachToObjectType" }); FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "FileSize", FieldKey = "size", UiFieldDataType = (int)UiFieldDataType.MemorySize, SqlValueColumnName = "afileattachment.size" }); FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "AttachmentNotes", FieldKey = "notes", UiFieldDataType = (int)UiFieldDataType.Text, SqlValueColumnName = "afileattachment.notes" }); } }//eoc }//eons