using System.Collections.Generic; using Newtonsoft.Json.Linq; using AyaNova.Biz; using AyaNova.Models; namespace AyaNova.DataList { internal class CustomerNoteDataList : AyaDataList, IAyaDataListServerCriteria { public CustomerNoteDataList() { DefaultListObjectType = AyaType.CustomerNote; SQLFrom = "from acustomernote left join auser on (acustomernote.userid=auser.id)"; var RoleSet = BizRoles.GetRoleSet(DefaultListObjectType); AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change; //######## DEFAULT VIEW WHEN NO VIEW CHOSEN ############ //Default ListView dynamic dlistView = new JArray(); dynamic cm = new JObject(); cm.fld = "notedate"; cm.sort = "-"; dlistView.Add(cm); cm = new JObject(); cm.fld = "notes"; dlistView.Add(cm); cm = new JObject(); cm.fld = "username"; 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 table need to be specified completely FieldDefinitions = new List(); FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "User", FieldKey = "username", AyaObjectType = (int)AyaType.User, UiFieldDataType = (int)UiFieldDataType.Text, SqlIdColumnName = "auser.id", SqlValueColumnName = "auser.name", IsRowId = false }); FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "CustomerNoteNotes", FieldKey = "notes", AyaObjectType = (int)AyaType.CustomerNote, UiFieldDataType = (int)UiFieldDataType.Text, SqlIdColumnName = "acustomernote.id", SqlValueColumnName = "acustomernote.notes", IsRowId = true }); FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "CustomerNoteNoteDate", FieldKey = "notedate", UiFieldDataType = (int)UiFieldDataType.DateTime, SqlValueColumnName = "acustomernote.notedate" }); //META column FieldDefinitions.Add(new AyaDataListFieldDefinition { FieldKey = "metacustomer", SqlIdColumnName = "acustomernote.customerid", SqlValueColumnName = "acustomernote.customerid", IsMeta = true }); } public string DataListServerCriteria(AyaNova.Models.AyContext ct, long currentUserId, DataListOptions dataListOptions) { throw new System.NotImplementedException(); } }//eoc }//eons