using System.ComponentModel.DataAnnotations; using Microsoft.AspNetCore.Mvc; namespace AyaNova.DataList { public sealed class DataListOptions { public const int MaxPageSize = 1000; public const int DefaultOffset = 0; public const int DefaultLimit = 25; [FromBody] public int? Offset { get; set; } [FromBody] public int? Limit { get; set; } [FromBody, Required] 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] public string ListView { get; set; }//optional, if null or empty will use default list view built into DataList [FromBody] public string MetaView { get; set; }//optional meta list view to integrate into the standard list view. Used by client to add "meta" filter conditions above the user's choices e.g. customer notes customer id } }