diff --git a/server/AyaNova/Controllers/WidgetController.cs b/server/AyaNova/Controllers/WidgetController.cs
index ec02d527..d3a66dcf 100644
--- a/server/AyaNova/Controllers/WidgetController.cs
+++ b/server/AyaNova/Controllers/WidgetController.cs
@@ -84,37 +84,36 @@ namespace AyaNova.Api.Controllers
}
-//COMMENTED OUT, FOR NOW UNTIL I GET THE FULLY WORKING TEST LIST BELOW THEN COME BACK AND LOOK AT THIS
- // ///
- // /// Get list for selection / viewing
- // ///
- // /// Required roles: Any (some roles might have restrictions on exact fields that are returned)
- // ///
- // ///
- // /// Paging, filtering and sorting options
- // /// Collection with paging data
- // [HttpGet("List", Name = nameof(List))]
- // public ActionResult List([FromQuery] ListOptions pagingOptions)
- // {
- // if (serverState.IsClosed)
- // return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason));
+ //COMMENTED OUT, FOR NOW UNTIL I GET THE FULLY WORKING TEST LIST BELOW THEN COME BACK AND LOOK AT THIS
+ ///
+ /// Get list for selection / viewing
+ ///
+ /// Required roles: Any in-house staff (some roles might have restrictions on exact fields that are returned)
+ ///
+ ///
+ /// Paging, filtering and sorting options
+ /// Collection with paging data
+ [HttpGet("List", Name = nameof(List))]
+ public ActionResult List([FromQuery] ListOptions pagingOptions)
+ {
+ if (serverState.IsClosed)
+ return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason));
- // if (!ModelState.IsValid)
- // return BadRequest(new ApiErrorResponse(ModelState));
+ if (!ModelState.IsValid)
+ return BadRequest(new ApiErrorResponse(ModelState));
- // //Instantiate the business object handler
- // WidgetBiz biz = WidgetBiz.GetBiz(ct, HttpContext);
+ //Instantiate the business object handler
+ WidgetBiz biz = WidgetBiz.GetBiz(ct, HttpContext);
- // ApiPagedResponse pr = biz.GetList(Url, nameof(List), pagingOptions).Result;
- // return Ok(new ApiOkWithPagingResponse(pr));
- // // string ret= biz.GetList(Url, nameof(List), pagingOptions).Result;
- // // return Ok(ret);
- // }
+ ApiPagedResponse pr = biz.GetList(Url, nameof(List), pagingOptions).Result;
+ return Ok(new ApiOkWithPagingResponse(pr));
- ///
+ }
+
+ ///
/// TEST list with relationships
///
- /// Required roles: Any (some roles might have restrictions on exact fields that are returned)
+ /// Required roles: Any in-house staff (some roles might have restrictions on exact fields that are returned)
///
///
/// Paging, filtering and sorting options
diff --git a/server/AyaNova/biz/WidgetBiz.cs b/server/AyaNova/biz/WidgetBiz.cs
index a9b9a591..407e760e 100644
--- a/server/AyaNova/biz/WidgetBiz.cs
+++ b/server/AyaNova/biz/WidgetBiz.cs
@@ -277,127 +277,14 @@ namespace AyaNova.Biz
internal async Task GetList(IUrlHelper Url, string routeName, ListOptions listOptions)
{
-
-
//TODO: Get template (MOCKED FOR NOW UNTIL PROOF OF CONCEPT)
var MOCK_WIDGET_DISPLAY_TEMPLATE_JSON = @"
{
- ""full"":[""widgetname"",""widgetserial"",""widgetdollaramount"",""widgetroles"",""widgetstartdate"",""active""],
+ ""full"":[""widgetname"",""widgetserial"",""widgetdollaramount"",""widgetroles"",""widgetstartdate"",""active"",""username""],
""mini"":[""widgetname"",""widgetserial""]
}
";
-
- //BUILD THE QUERY
-
- //SELECT FRAGMENT COLUMNS FROM TEMPLATE
- //"select clm,clm,clm"
- var qSelectColumns = SqlSelectBuilder.Build(AyaObjectFields.WIDGET_KEY, MOCK_WIDGET_DISPLAY_TEMPLATE_JSON, listOptions.Mini);
-
- var qFrom = "FROM AWIDGET";
-
- //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.WIDGET_KEY), UserId);
- }
-
- //ORDER BY CLAUSE - SORT
- var qOrderBy = string.Empty;
- if (listOptions.DataFilterId > 0)
- {
- //BUILD ORDER BY AND APPEND IT
- qOrderBy = SqlFilterOrderByBuilder.DataFilterToSQLOrderBy(TheFilter);
- }
-
-
- //LIMIT AND OFFSET CLAUSE - PAGING
- listOptions.Offset = listOptions.Offset ?? ListOptions.DefaultOffset;
- listOptions.Limit = listOptions.Limit ?? ListOptions.DefaultLimit;
- var qLimitOffset = $"LIMIT {listOptions.Limit} OFFSET {listOptions.Offset}";
-
- //PUT IT ALL TOGETHER
- string qDataQuery = string.Empty;
- string qTotalRecordsQuery = string.Empty;
- if (TheFilter != null)
- {
- qDataQuery = $"{qSelectColumns} {qFrom} {qWhere} {qOrderBy} {qLimitOffset}";
- qTotalRecordsQuery = $"SELECT COUNT(*) {qFrom} {qWhere}";
- }
- else
- {
- qDataQuery = $"{qSelectColumns} {qFrom} {qLimitOffset}";
- qTotalRecordsQuery = $"SELECT COUNT(*) {qFrom}";
- }
-
-
- //RETURN OBJECTS
- List