This commit is contained in:
@@ -280,8 +280,8 @@ namespace AyaNova.Biz
|
||||
//TODO: Get template (MOCKED FOR NOW UNTIL PROOF OF CONCEPT)
|
||||
var MOCK_WIDGET_DISPLAY_TEMPLATE_JSON = @"
|
||||
{
|
||||
""full"":[""WidgetName"",""WidgetSerial"",""WidgetDollarAmount"",""WidgetRoles"",""WidgetStartDate"",""Active""],
|
||||
""mini"":[""WidgetName"",""WidgetSerial""]
|
||||
""full"":[""widgetname"",""widgetserial"",""widgetdollaramount"",""widgetroles"",""widgetstartdate"",""active""],
|
||||
""mini"":[""widgetname"",""widgetserial""]
|
||||
}
|
||||
";
|
||||
|
||||
@@ -314,11 +314,7 @@ namespace AyaNova.Biz
|
||||
//BUILD ORDER BY AND APPEND IT
|
||||
qOrderBy = SqlFilterOrderByBuilder.DataFilterToSQLOrderBy(TheFilter);
|
||||
}
|
||||
// else
|
||||
// {
|
||||
// //GET DEFAULT ORDER BY
|
||||
// qOrderBy = SqlFilterOrderByBuilder.DefaultGetManyOrderBy;
|
||||
// }
|
||||
|
||||
|
||||
//LIMIT AND OFFSET CLAUSE - PAGING
|
||||
listOptions.Offset = listOptions.Offset ?? ListOptions.DefaultOffset;
|
||||
@@ -416,14 +412,16 @@ namespace AyaNova.Biz
|
||||
}
|
||||
";
|
||||
|
||||
var Object
|
||||
|
||||
//BUILD THE QUERY
|
||||
/*
|
||||
Select awidget.id, awidget.name, auser.name, auser.id, auseroptions.emailaddress
|
||||
from awidget
|
||||
left outer join auser on (awidget.userid=auser.id)
|
||||
left outer join auseroptions on (auser.id=auseroptions.userid)
|
||||
order by auseroptions.emailaddress desc
|
||||
*/
|
||||
/*
|
||||
Select awidget.id, awidget.name, auser.name, auser.id, auseroptions.emailaddress
|
||||
from awidget
|
||||
left outer join auser on (awidget.userid=auser.id)
|
||||
left outer join auseroptions on (auser.id=auseroptions.userid)
|
||||
order by auseroptions.emailaddress desc
|
||||
*/
|
||||
//SELECT FRAGMENT COLUMNS FROM TEMPLATE
|
||||
//"select clm,clm,clm"
|
||||
var qSelectColumns = SqlSelectBuilder.Build(AyaObjectFields.TEST_WIDGET_USER_EMAIL_ADDRESS_LIST_KEY, MOCK_WIDGET_USER_EMAIL_DISPLAY_TEMPLATE_JSON, listOptions.Mini);
|
||||
@@ -435,30 +433,17 @@ order by auseroptions.emailaddress desc
|
||||
|
||||
//FILTERED?
|
||||
DataFilter TheFilter = null;
|
||||
if (listOptions.DataFilterId > 0)
|
||||
{
|
||||
TheFilter = await ct.DataFilter.FirstOrDefaultAsync(x => x.Id == listOptions.DataFilterId);
|
||||
}
|
||||
|
||||
//WHERE CLAUSE - FILTER
|
||||
var qWhere = string.Empty;
|
||||
if (listOptions.DataFilterId > 0)
|
||||
{
|
||||
qWhere = SqlFilterCriteriaBuilder.DataFilterToSQLCriteria(TheFilter, AyaObjectFields.ObjectFieldsList(AyaObjectFields.TEST_WIDGET_USER_EMAIL_ADDRESS_LIST_KEY), UserId);
|
||||
}
|
||||
|
||||
//ORDER BY CLAUSE - SORT
|
||||
var qOrderBy = string.Empty;
|
||||
if (listOptions.DataFilterId > 0)
|
||||
{
|
||||
TheFilter = await ct.DataFilter.FirstOrDefaultAsync(x => x.Id == listOptions.DataFilterId);
|
||||
//WHERE CLAUSE - FILTER
|
||||
qWhere = SqlFilterCriteriaBuilder.DataFilterToSQLCriteria(TheFilter, AyaObjectFields.ObjectFieldsList(AyaObjectFields.TEST_WIDGET_USER_EMAIL_ADDRESS_LIST_KEY), UserId);
|
||||
//ORDER BY CLAUSE - SORT
|
||||
//BUILD ORDER BY AND APPEND IT
|
||||
qOrderBy = SqlFilterOrderByBuilder.DataFilterToSQLOrderBy(TheFilter);
|
||||
}
|
||||
// else
|
||||
// {
|
||||
// //GET DEFAULT ORDER BY
|
||||
// qOrderBy = SqlFilterOrderByBuilder.DefaultGetManyOrderBy;
|
||||
// }
|
||||
|
||||
//LIMIT AND OFFSET CLAUSE - PAGING
|
||||
listOptions.Offset = listOptions.Offset ?? ListOptions.DefaultOffset;
|
||||
@@ -512,6 +497,12 @@ order by auseroptions.emailaddress desc
|
||||
|
||||
//TODO: Build the return object in a clean format
|
||||
//rows:{[ {},{v:"Green mechanics",id:32},{v:"...notes..."},{v:"42",id:42}, ...thousands more etc.... ]}
|
||||
//TODO: BUILD THE RETURN LIST OF DATA ITEMS
|
||||
//If mini format all desired columns in order into the single mini return display (and set the only other return field which is ID)
|
||||
|
||||
//If wide then format the fields in order chosen (grid sort and filter template has already done that part above)
|
||||
|
||||
//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
|
||||
|
||||
|
||||
|
||||
@@ -530,12 +521,6 @@ order by auseroptions.emailaddress desc
|
||||
ColumnsJSON = AyaObjectFields.GenerateListColumnsJSONFromTemplate(AyaType.Widget, AyaObjectFields.TEST_WIDGET_USER_EMAIL_ADDRESS_LIST_KEY, MOCK_WIDGET_USER_EMAIL_DISPLAY_TEMPLATE_JSON);
|
||||
}
|
||||
|
||||
//TODO: BUILD THE RETURN LIST OF DATA ITEMS
|
||||
//If mini format all desired columns in order into the single mini return display (and set the only other return field which is ID)
|
||||
|
||||
//If wide then format the fields in oder chosen (grid sort and filter template has already done that part above)
|
||||
|
||||
//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
|
||||
|
||||
|
||||
ApiPagedResponse pr = new ApiPagedResponse(items, pageLinks, ColumnsJSON);
|
||||
|
||||
Reference in New Issue
Block a user