This commit is contained in:
2020-01-15 19:14:35 +00:00
parent 05e07c5ac1
commit 2ae3837559
5 changed files with 46 additions and 15 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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 });
}
}

View File

@@ -104,10 +104,10 @@ namespace AyaNova.Api.Controllers
//Instantiate the business object handler
WidgetBiz biz = WidgetBiz.GetBiz(ct, HttpContext);
// ApiPagedResponse<NameIdItem> pr = biz.GetList(Url, nameof(WidgetList), pagingOptions);
// return Ok(new ApiOkWithPagingResponse<NameIdItem>(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);
}

View File

@@ -270,7 +270,7 @@ namespace AyaNova.Biz
//get many (paged)
internal async Task<string> GetList(IUrlHelper Url, string routeName, ListOptions listOptions)
internal async Task<ApiPagedResponse> 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<Widget> pr = new ApiPagedResponse<Widget>(items, pageLinks);
// return pr;
// return ret.ToString();
ApiPagedResponse pr = new ApiPagedResponse(items, pageLinks, ColumnsJSON);
return pr;
}