From 9f0554e97c9daaf48d5170c3e22be2fd23ab83f2 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 18 Dec 2020 01:07:07 +0000 Subject: [PATCH] --- server/AyaNova/DataList/ReviewDataList.cs | 169 ++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 server/AyaNova/DataList/ReviewDataList.cs diff --git a/server/AyaNova/DataList/ReviewDataList.cs b/server/AyaNova/DataList/ReviewDataList.cs new file mode 100644 index 00000000..00a4572d --- /dev/null +++ b/server/AyaNova/DataList/ReviewDataList.cs @@ -0,0 +1,169 @@ +using System.Collections.Generic; +using Newtonsoft.Json.Linq; +using AyaNova.Biz; +namespace AyaNova.DataList +{ + internal class ReviewDataList : AyaDataList, IAyaDataListViewServerCriteria + { + public ReviewDataList() + { + + DefaultListObjectType = AyaType.Review; + SQLFrom = "from areview left outer join auser on (areview.fromid=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 = "ReviewName"; + dlistView.Add(cm); + + cm = new JObject(); + cm.fld = "ReviewDueDate"; + dlistView.Add(cm); + + cm = new JObject(); + cm.fld = "ReviewCompletedDate"; + dlistView.Add(cm); + + cm = new JObject(); + cm.fld = "ayatype"; + dlistView.Add(cm); + + cm = new JObject(); + cm.fld = "ReviewNotes"; + dlistView.Add(cm); + + + cm = new JObject(); + cm.fld = "ReviewUserId"; + 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(); + + + + TODO: have to figure out how to include name and openable link to object in reminder + //or do I?... outstanding for sure + 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 = "ReviewSubject", + FieldKey = "ReviewSubject", + AyaObjectType = (int)AyaType.Review, + UiFieldDataType = (int)UiFieldDataType.Text, + SqlIdColumnName = "areview.id", + SqlValueColumnName = "areview.name", + IsRowId = true + }); + + FieldDefinitions.Add(new AyaDataListFieldDefinition + { + TKey = "ReviewMessage", + FieldKey = "ReviewMessage", + UiFieldDataType = (int)UiFieldDataType.Text, + SqlValueColumnName = "areview.notes" + }); + + FieldDefinitions.Add(new AyaDataListFieldDefinition + { + TKey = "ReviewFromID", + FieldKey = "ReviewFromID", + AyaObjectType = (int)AyaType.User, + UiFieldDataType = (int)UiFieldDataType.Text, + SqlIdColumnName = "auser.id", + SqlValueColumnName = "auser.name", + IsRowId = false + }); + + FieldDefinitions.Add(new AyaDataListFieldDefinition + { + TKey = "ReviewSent", + FieldKey = "ReviewSent", + UiFieldDataType = (int)UiFieldDataType.DateTime, + SqlValueColumnName = "areview.sent" + }); + + FieldDefinitions.Add(new AyaDataListFieldDefinition + { + TKey = "ReviewReplied", + FieldKey = "ReviewReplied", + UiFieldDataType = (int)UiFieldDataType.Bool, + SqlValueColumnName = "areview.replied" + }); + + FieldDefinitions.Add(new AyaDataListFieldDefinition + { + TKey = "ReviewViewed", + FieldKey = "ReviewViewed", + UiFieldDataType = (int)UiFieldDataType.Bool, + SqlValueColumnName = "areview.viewed" + }); + + + FieldDefinitions.Add(new AyaDataListFieldDefinition + { + TKey = "Tags", + FieldKey = "ReviewTags", + UiFieldDataType = (int)UiFieldDataType.Tags, + SqlValueColumnName = "areview.tags" + }); + + //META column + FieldDefinitions.Add(new AyaDataListFieldDefinition + { + FieldKey = "metareviewto", + SqlIdColumnName = "areview.toid", + SqlValueColumnName = "areview.toid", + IsMeta = true + }); + + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom1", FieldKey = "ReviewCustom1", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom2", FieldKey = "ReviewCustom2", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom3", FieldKey = "ReviewCustom3", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom4", FieldKey = "ReviewCustom4", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom5", FieldKey = "ReviewCustom5", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom6", FieldKey = "ReviewCustom6", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom7", FieldKey = "ReviewCustom7", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom8", FieldKey = "ReviewCustom8", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom9", FieldKey = "ReviewCustom9", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom10", FieldKey = "ReviewCustom10", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom11", FieldKey = "ReviewCustom11", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom12", FieldKey = "ReviewCustom12", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom13", FieldKey = "ReviewCustom13", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom14", FieldKey = "ReviewCustom14", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom15", FieldKey = "ReviewCustom15", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + FieldDefinitions.Add(new AyaDataListFieldDefinition { TKey = "ReviewCustom16", FieldKey = "ReviewCustom16", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "areview.customfields" }); + + } + + + + + + + string IAyaDataListViewServerCriteria.ListViewServerCriteria(long userId) + { + return "[{\"fld\":\"metareviewto\",\"filter\":{\"items\":[{\"op\":\"=\",\"value\":" + userId.ToString() + "}]}}]"; + } + + }//eoc +}//eons \ No newline at end of file