Right in the middle of conversion, not compilable yet

This commit is contained in:
2021-01-27 00:59:36 +00:00
parent 8ebc877c33
commit 3ffc01f393
23 changed files with 250 additions and 167 deletions

View File

@@ -0,0 +1,68 @@
using System.ComponentModel.DataAnnotations;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
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; }
/*
OLD EXAMPLE:
{"offset":0,"limit":10,"dataListKey":"CustomerDataList",
"listView":"[
{\"fld\":\"customername\",\"sort\":\"+\",\"filter\":{\"items\":[{\"op\":\"=\",\"value\":\"dfdfdf\"},{\"op\":\"=\",\"value\":\"3333\"}],\"any\":true}},
{\"fld\":\"customerphone1\",\"filter\":{\"items\":[{\"op\":\">\",\"value\":\"44444\"},
{\"op\":\"<\",\"value\":\"7777\"}]}},
{\"fld\":\"customeremail\"}
{\"fld\":\"customerheadoffice\"},
{\"fld\":\"customertags\",\"sort\":\"+\"}]"}
NEW:
columns:["PartInventoryTransactionEntryDate","PartPartNumber","PartWarehouseName","PartInventoryTransactionQuantity","PartInventoryTransactionDescription","PartInventoryTransactionSource","PartInventoryBalance"]
sortBy:[{"PartInventoryTransactionEntryDate":"-"}],//All sorted columns here as keyvalue pairs value is a string of "+" for ascending "-" for descending
filter:[{column:"PartPartNumber",any:true/false,items:[{op: "=",value: "400735"}]}],
clientCriteria:"2" //could be anything here that makes sense to the list, in this case an example customer id for customernotedatalist
*/
[FromBody]
public List<string> Columns { get; set; }
[FromBody]
public Dictionary<string, string> SortBy { get; set; }
[FromBody]
public List<DataListFilterOption> Filter { get; set; }
[FromBody]
public string ClientCriteria { get; set; }
}
public class DataListFilterOption
{
public string Column { get; set; }
public List<DataListColumnFilter> items { get; set; }
public bool Any {get;set;}//means "or" the filter conditions
DataListFilterOption()
{
items = new List<DataListColumnFilter>();
}
}
public class DataListColumnFilter
{
public string op { get; set; }
public string value { get; set; }
}
}