From 2ae383755944b6c5333f1e893a4b403148289145 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 15 Jan 2020 19:14:35 +0000 Subject: [PATCH] --- .../ApiOkWithPagingResponse.cs | 15 +++++++++++++- .../ControllerHelpers/ApiPagedResponse.cs | 20 ++++++++++++++++++- .../Controllers/AyaEnumPickListController.cs | 2 +- .../AyaNova/Controllers/WidgetController.cs | 8 ++++---- server/AyaNova/biz/WidgetBiz.cs | 16 +++++++-------- 5 files changed, 46 insertions(+), 15 deletions(-) diff --git a/server/AyaNova/ControllerHelpers/ApiOkWithPagingResponse.cs b/server/AyaNova/ControllerHelpers/ApiOkWithPagingResponse.cs index 3d9b9247..1018fad2 100644 --- a/server/AyaNova/ControllerHelpers/ApiOkWithPagingResponse.cs +++ b/server/AyaNova/ControllerHelpers/ApiOkWithPagingResponse.cs @@ -16,8 +16,21 @@ namespace AyaNova.Api.ControllerHelpers Data = pr.items; Paging = pr.PageLinks; - } + } }//eoc + public class ApiOkWithPagingResponse + { + + public object Data { get; } + public object Paging { get; } + + public ApiOkWithPagingResponse(ApiPagedResponse pr) + { + Data = pr.items; + Paging = pr.PageLinks; + + } + }//eoc }//eons \ No newline at end of file diff --git a/server/AyaNova/ControllerHelpers/ApiPagedResponse.cs b/server/AyaNova/ControllerHelpers/ApiPagedResponse.cs index 26bf6b17..b90e5fc5 100644 --- a/server/AyaNova/ControllerHelpers/ApiPagedResponse.cs +++ b/server/AyaNova/ControllerHelpers/ApiPagedResponse.cs @@ -11,11 +11,29 @@ namespace AyaNova.Api.ControllerHelpers public T[] items { get; } public object PageLinks { get; } + public object Columns { get; } - public ApiPagedResponse(T[] returnItems, object pageLinks) + public ApiPagedResponse(T[] returnItems, object pageLinks, object columns = null) { items = returnItems; PageLinks = pageLinks; + Columns = Columns; + + } + }//eoc + + public class ApiPagedResponse + { + + public object items { get; } + public object PageLinks { get; } + public object Columns { get; } + + public ApiPagedResponse(object returnItems, object pageLinks, object columns = null) + { + items = returnItems; + PageLinks = pageLinks; + Columns = Columns; } }//eoc diff --git a/server/AyaNova/Controllers/AyaEnumPickListController.cs b/server/AyaNova/Controllers/AyaEnumPickListController.cs index 9f6e3368..d8c381ca 100644 --- a/server/AyaNova/Controllers/AyaEnumPickListController.cs +++ b/server/AyaNova/Controllers/AyaEnumPickListController.cs @@ -70,7 +70,7 @@ namespace AyaNova.Api.Controllers Enum.GetName(t, AyaDataType.NoType); foreach (var dt in Enum.GetValues(t)) { - ReturnList.Add(new NameIdItem() { Name = Enum.GetName(t, dt), Id = (long) dt }); + ReturnList.Add(new NameIdItem() { Name = Enum.GetName(t, dt), Id = (int) dt }); } } diff --git a/server/AyaNova/Controllers/WidgetController.cs b/server/AyaNova/Controllers/WidgetController.cs index 2b7a0590..40a2384e 100644 --- a/server/AyaNova/Controllers/WidgetController.cs +++ b/server/AyaNova/Controllers/WidgetController.cs @@ -104,10 +104,10 @@ namespace AyaNova.Api.Controllers //Instantiate the business object handler WidgetBiz biz = WidgetBiz.GetBiz(ct, HttpContext); - // ApiPagedResponse pr = biz.GetList(Url, nameof(WidgetList), pagingOptions); - // return Ok(new ApiOkWithPagingResponse(pr)); - string ret= biz.GetList(Url, nameof(List), pagingOptions).Result; - return Ok(ret); + ApiPagedResponse pr = biz.GetList(Url, nameof(List), pagingOptions).Result; + return Ok(new ApiOkWithPagingResponse(pr)); + // string ret= biz.GetList(Url, nameof(List), pagingOptions).Result; + // return Ok(ret); } diff --git a/server/AyaNova/biz/WidgetBiz.cs b/server/AyaNova/biz/WidgetBiz.cs index 6a524e54..9e4ca66a 100644 --- a/server/AyaNova/biz/WidgetBiz.cs +++ b/server/AyaNova/biz/WidgetBiz.cs @@ -270,7 +270,7 @@ namespace AyaNova.Biz //get many (paged) - internal async Task GetList(IUrlHelper Url, string routeName, ListOptions listOptions) + internal async Task GetList(IUrlHelper Url, string routeName, ListOptions listOptions) { listOptions.Offset = listOptions.Offset ?? ListOptions.DefaultOffset; listOptions.Limit = listOptions.Limit ?? ListOptions.DefaultLimit; @@ -347,14 +347,14 @@ namespace AyaNova.Biz //TODO: Genericize the above block of building return when it's working as this code needs to be central and optimized as much as possible //New return code - dynamic ret = new JObject(); - ret.items = items; - ret.pageLinks = pageLinks; - ret.columns=ColumnsJSON; + // dynamic ret = new JObject(); + // ret.items = new JArray.fromobj(items); + // ret.pageLinks = pageLinks; + // ret.columns=ColumnsJSON; - return ret.ToString(); - // ApiPagedResponse pr = new ApiPagedResponse(items, pageLinks); - // return pr; + // return ret.ToString(); + ApiPagedResponse pr = new ApiPagedResponse(items, pageLinks, ColumnsJSON); + return pr; }