This commit is contained in:
2020-01-21 23:18:29 +00:00
parent 7bb23fedd3
commit aac48abf0c
6 changed files with 24 additions and 25 deletions

View File

@@ -12,23 +12,16 @@ namespace AyaNova.DataList
{
internal static class DataListFetcher
{
internal static async Task<ApiPagedResponse> GetResponse(
string DataListKey, AyContext ct, IUrlHelper Url,
string routeName, ListOptions listOptions, string JSONDataListTemplate, long UserId)
internal static async Task<ApiPagedResponse> GetResponse(string DataListKey, AyContext ct, IUrlHelper Url,
string routeName, ListOptions listOptions, long UserId)
{
//TODO: Get template (MOCKED FOR NOW UNTIL PROOF OF CONCEPT)
// var MOCK_WIDGET_USER_EMAIL_DISPLAY_TEMPLATE_JSON = @"
// {
// ""full"":[""widgetname"",""username"",""emailaddress"",""widgetactive""],
// ""mini"":[""widgetname"",""username"",""emailaddress""]
// }
// ";
// var AyaObjectFields = AyaObjectFieldDefinitions.AyaObjectFields(AyaObjectFieldDefinitions.TEST_WIDGET_USER_EMAIL_ADDRESS_LIST_KEY);
var DataList = DataListFactory.GetAyaDataList(DataListKey);
//TODO: PUt this in the template biz class ultimately and modify sqlselectbuilder to use it
//TODO: FETCH DATALISTTEMPLATE HERE OR USE DEFAULT IF FAULTY OR NOT FOUND
var JSONDataListTemplate = DataList.DefaultDataListDisplayTemplate;
//PARSE THE TEMPLATE INTO A STRING ARRAY
//SO WE KNOW WHICH FIELDS TO RETURN FROM QUERY
@@ -45,16 +38,11 @@ namespace AyaNova.DataList
templateFieldList = ((JArray)jtemplate["full"]).ToObject<string[]>();
}
//BUILD THE QUERY
//SELECT FRAGMENT COLUMNS FROM TEMPLATE
//TODO: Make this a function called from DataList
//SELECT FRAGMENT COLUMNS FROM TEMPLATE
var qSelectColumns = DataListSqlSelectBuilder.Build(DataList.FieldDefinitions, JSONDataListTemplate, listOptions.Mini);
//FROM CLAUSE
//this is where the full SQL statement needs to be made with JOINS etc
//TODO: Can this be moved away into the objectfields or new object
//var qFrom = "from awidget left outer join auser on (awidget.userid=auser.id) left outer join auseroptions on (auser.id=auseroptions.userid)";
//FROM CLAUSE
var qFrom = DataList.SQLFrom;
//FILTERED?