This commit is contained in:
2021-01-26 19:13:19 +00:00
parent cc651c1c7d
commit 8ebc877c33
5 changed files with 16 additions and 9 deletions

View File

@@ -51,14 +51,14 @@ namespace AyaNova.Api.Controllers
/// <returns>Collection with paging data</returns> /// <returns>Collection with paging data</returns>
// [HttpPost("List", Name = nameof(List))] // [HttpPost("List", Name = nameof(List))]
[HttpPost] [HttpPost]
public async Task<IActionResult> List([FromBody] ListOptions listOptions) public async Task<IActionResult> List([FromBody] DataListOptions listOptions)
{ {
if (!serverState.IsOpen) if (!serverState.IsOpen)
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
if (listOptions.Limit == null || listOptions.Limit < 1) if (listOptions.Limit == null || listOptions.Limit < 1)
{ {
listOptions.Limit = ListOptions.DefaultLimit; listOptions.Limit = DataListOptions.DefaultLimit;
} }
if (listOptions.Offset == null) if (listOptions.Offset == null)
{ {

View File

@@ -53,7 +53,7 @@ namespace AyaNova.Api.Controllers
/// <param name="pickListParams">Parameters for pick list see api docs for details </param> /// <param name="pickListParams">Parameters for pick list see api docs for details </param>
/// <returns>Filtered list</returns> /// <returns>Filtered list</returns>
[HttpPost("list")] [HttpPost("list")]
public async Task<IActionResult> PostList([FromBody] PickListParams pickListParams) public async Task<IActionResult> PostList([FromBody] PickListOptions pickListParams)
{ {
if (serverState.IsClosed) if (serverState.IsClosed)
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));

View File

@@ -18,7 +18,7 @@ namespace AyaNova.DataList
// Get the data list data requested // Get the data list data requested
// //
// //
internal static async Task<ApiDataListResponse> GetResponseAsync(string DataListKey, AyContext ct, ListOptions listOptions, AuthorizationRoles UserRoles, ILogger log, long userId) internal static async Task<ApiDataListResponse> GetResponseAsync(string DataListKey, AyContext ct, DataListOptions listOptions, AuthorizationRoles UserRoles, ILogger log, long userId)
{ {
var DataList = DataListFactory.GetAyaDataList(DataListKey); var DataList = DataListFactory.GetAyaDataList(DataListKey);
@@ -84,8 +84,8 @@ namespace AyaNova.DataList
qOrderBy = DataListSqlFilterOrderByBuilder.DataFilterToSQLOrderBy(DataList.FieldDefinitions, InternalListViewArray); qOrderBy = DataListSqlFilterOrderByBuilder.DataFilterToSQLOrderBy(DataList.FieldDefinitions, InternalListViewArray);
//LIMIT AND OFFSET CLAUSE - PAGING //LIMIT AND OFFSET CLAUSE - PAGING
listOptions.Offset = listOptions.Offset ?? ListOptions.DefaultOffset; listOptions.Offset = listOptions.Offset ?? DataListOptions.DefaultOffset;
listOptions.Limit = listOptions.Limit ?? ListOptions.DefaultLimit; listOptions.Limit = listOptions.Limit ?? DataListOptions.DefaultLimit;
var qLimitOffset = $"LIMIT {listOptions.Limit} OFFSET {listOptions.Offset}"; var qLimitOffset = $"LIMIT {listOptions.Limit} OFFSET {listOptions.Offset}";
//PUT IT ALL TOGETHER //PUT IT ALL TOGETHER

View File

@@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Mvc;
namespace AyaNova.DataList namespace AyaNova.DataList
{ {
public sealed class ListOptions public sealed class DataListOptions
{ {
public const int MaxPageSize = 1000; public const int MaxPageSize = 1000;
public const int DefaultOffset = 0; public const int DefaultOffset = 0;
@@ -19,6 +19,13 @@ namespace AyaNova.DataList
[FromBody, Required] [FromBody, Required]
public string DataListKey { get; set; } public string DataListKey { get; set; }
/*
columns:["PartInventoryTransactionEntryDate","PartPartNumber","PartWarehouseName","PartInventoryTransactionQuantity","PartInventoryTransactionDescription","PartInventoryTransactionSource","PartInventoryBalance"]
sortBy:["PartInventoryTransactionEntryDate"],//same as grid natively does all columns here
sortDesc:[true],//same as grid natively does, all columns here true or false each
filter:[{column:"PartPartNumber",items:[{op: "=",value: "400735"}]}],
variant:"string"
*/
[FromBody] [FromBody]
public string ListView { get; set; }//optional, if null or empty will use default list view built into DataList public string ListView { get; set; }//optional, if null or empty will use default list view built into DataList

View File

@@ -14,7 +14,7 @@ namespace AyaNova.PickList
/// <param name="preIds">Return only specific items (for pre-selected items on forms) </param> /// <param name="preIds">Return only specific items (for pre-selected items on forms) </param>
/// <param name="variant">Some lists optionally take a variant string, e.g. User type "inside","outside" etc </param> /// <param name="variant">Some lists optionally take a variant string, e.g. User type "inside","outside" etc </param>
*/ */
public sealed class PickListParams public sealed class PickListOptions
{ {
[FromBody] [FromBody]
@@ -32,7 +32,7 @@ namespace AyaNova.PickList
[FromBody] [FromBody]
public string ListVariant { get; set; } public string ListVariant { get; set; }
public PickListParams() public PickListOptions()
{ {
AyaType = AyaType.NoType; AyaType = AyaType.NoType;
Query = string.Empty; Query = string.Empty;