diff --git a/server/AyaNova/Controllers/UserController.cs b/server/AyaNova/Controllers/UserController.cs index 9ce56a69..4310118f 100644 --- a/server/AyaNova/Controllers/UserController.cs +++ b/server/AyaNova/Controllers/UserController.cs @@ -88,70 +88,70 @@ namespace AyaNova.Api.Controllers } - /// - /// Get paged list of Users - /// - /// Required roles: - /// BizAdminFull, BizAdminLimited - /// - /// - /// Paged collection of Users with paging data - [HttpGet("ListUsers", Name = nameof(ListUsers))]//We MUST have a "Name" defined or we can't get the link for the pagination, non paged urls don't need a name - public async Task ListUsers([FromQuery] ListOptions pagingOptions) - { + // /// + // /// Get paged list of Users + // /// + // /// Required roles: + // /// BizAdminFull, BizAdminLimited + // /// + // /// + // /// Paged collection of Users with paging data + // [HttpGet("ListUsers", Name = nameof(ListUsers))]//We MUST have a "Name" defined or we can't get the link for the pagination, non paged urls don't need a name + // public async Task ListUsers([FromQuery] ListOptions pagingOptions) + // { - if (serverState.IsClosed) - { - return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason)); - } + // if (serverState.IsClosed) + // { + // return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason)); + // } - //Instantiate the business object handler - UserBiz biz = UserBiz.GetBiz(ct, HttpContext); + // //Instantiate the business object handler + // UserBiz biz = UserBiz.GetBiz(ct, HttpContext); - if (!Authorized.HasReadFullRole(HttpContext.Items, biz.BizType)) - { - return StatusCode(403, new ApiNotAuthorizedResponse()); - } + // if (!Authorized.HasReadFullRole(HttpContext.Items, biz.BizType)) + // { + // return StatusCode(403, new ApiNotAuthorizedResponse()); + // } - if (!ModelState.IsValid) - { - return BadRequest(new ApiErrorResponse(ModelState)); - } + // if (!ModelState.IsValid) + // { + // return BadRequest(new ApiErrorResponse(ModelState)); + // } - ApiPagedResponse pr = await biz.GetManyAsync(Url, nameof(ListUsers), pagingOptions); - return Ok(new ApiOkWithPagingResponse(pr)); - } + // ApiPagedResponse pr = await biz.GetManyAsync(Url, nameof(ListUsers), pagingOptions); + // return Ok(new ApiOkWithPagingResponse(pr)); + // } - /// - /// Get User pick list - /// - /// Required roles: Any - /// - /// - /// Paging, filtering and sorting options - /// Paged id/name collection with paging data - [HttpGet("PickList", Name = nameof(UserPickList))] - public ActionResult UserPickList([FromQuery] ListOptions pagingOptions) - { - if (serverState.IsClosed) - { - return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason)); - } + // /// + // /// Get User pick list + // /// + // /// Required roles: Any + // /// + // /// + // /// Paging, filtering and sorting options + // /// Paged id/name collection with paging data + // [HttpGet("PickList", Name = nameof(UserPickList))] + // public ActionResult UserPickList([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 - UserBiz biz = UserBiz.GetBiz(ct, HttpContext); - ApiPagedResponse pr = biz.GetPickList(Url, nameof(UserPickList), pagingOptions); - return Ok(new ApiOkWithPagingResponse(pr)); - } + // //Instantiate the business object handler + // UserBiz biz = UserBiz.GetBiz(ct, HttpContext); + // ApiPagedResponse pr = biz.GetPickList(Url, nameof(UserPickList), pagingOptions); + // return Ok(new ApiOkWithPagingResponse(pr)); + // } /// diff --git a/server/AyaNova/biz/PickListFetcher.cs b/server/AyaNova/biz/PickListFetcher.cs index f6f5c3d0..cdab5461 100644 --- a/server/AyaNova/biz/PickListFetcher.cs +++ b/server/AyaNova/biz/PickListFetcher.cs @@ -38,12 +38,13 @@ namespace AyaNova.Biz { var TheFilter = ct.DataFilter.FirstOrDefault(x => x.Id == pagingOptions.DataFilterId); - //BUILD WHERE AND APPEND IT - //qCriteria = FilterSqlCriteriaBuilder.DataFilterToSQLCriteria(TheFilter, WidgetBiz.FilterOptions(), userId); - qCriteria = SqlFilterCriteriaBuilder.DataFilterToSQLCriteria(TheFilter, objectFields, userId); + //BUILD WHERE AND APPEND IT + //************* COMMENTED OUT FOLLOWING DUE TO NEW DATALIST REFACTOR BREAKING THIS + // qCriteria = SqlFilterCriteriaBuilder.DataFilterToSQLCriteria(TheFilter, objectFields, userId); //BUILD ORDER BY AND APPEND IT - qSort = SqlFilterOrderByBuilder.DataFilterToSQLOrderBy(TheFilter); + //************* COMMENTED OUT FOLLOWING DUE TO NEW DATALIST REFACTOR BREAKING THIS + //qSort = SqlFilterOrderByBuilder.DataFilterToSQLOrderBy(TheFilter); } // else // { diff --git a/server/AyaNova/biz/UserBiz.cs b/server/AyaNova/biz/UserBiz.cs index 118719b6..536394b0 100644 --- a/server/AyaNova/biz/UserBiz.cs +++ b/server/AyaNova/biz/UserBiz.cs @@ -173,92 +173,92 @@ namespace AyaNova.Biz // } - //get many (paged) - internal async Task> GetManyAsync(IUrlHelper Url, string routeName, ListOptions pagingOptions) - { +// //get many (paged) +// internal async Task> GetManyAsync(IUrlHelper Url, string routeName, ListOptions pagingOptions) +// { - pagingOptions.Offset = pagingOptions.Offset ?? ListOptions.DefaultOffset; - pagingOptions.Limit = pagingOptions.Limit ?? ListOptions.DefaultLimit; +// pagingOptions.Offset = pagingOptions.Offset ?? ListOptions.DefaultOffset; +// pagingOptions.Limit = pagingOptions.Limit ?? ListOptions.DefaultLimit; - //BUILD THE QUERY - //base query - var q = "SELECT *, xmin FROM AUSER "; +// //BUILD THE QUERY +// //base query +// var q = "SELECT *, xmin FROM AUSER "; - //GET THE FILTER / SORT - if (pagingOptions.DataFilterId > 0) - { - var TheFilter = await ct.DataFilter.FirstOrDefaultAsync(x => x.Id == pagingOptions.DataFilterId); +// //GET THE FILTER / SORT +// if (pagingOptions.DataFilterId > 0) +// { +// var TheFilter = await ct.DataFilter.FirstOrDefaultAsync(x => x.Id == pagingOptions.DataFilterId); - //BUILD WHERE AND APPEND IT - q = q + SqlFilterCriteriaBuilder.DataFilterToSQLCriteria(TheFilter, AyaObjectFieldDefinitions.AyaObjectFields(AyaObjectFieldDefinitions.USER_KEY), UserId); +// //BUILD WHERE AND APPEND IT +// q = q + SqlFilterCriteriaBuilder.DataFilterToSQLCriteria(TheFilter, AyaObjectFieldDefinitions.AyaObjectFields(AyaObjectFieldDefinitions.USER_KEY), UserId); - //BUILD ORDER BY AND APPEND IT - q = q + SqlFilterOrderByBuilder.DataFilterToSQLOrderBy(TheFilter); - } - // else - // { - // //GET DEFAULT ORDER BY - // q = q + SqlFilterOrderByBuilder.DefaultGetManyOrderBy; - // } +// //BUILD ORDER BY AND APPEND IT +// q = q + SqlFilterOrderByBuilder.DataFilterToSQLOrderBy(TheFilter); +// } +// // else +// // { +// // //GET DEFAULT ORDER BY +// // q = q + SqlFilterOrderByBuilder.DefaultGetManyOrderBy; +// // } -#pragma warning disable EF1000 +// #pragma warning disable EF1000 - // var items = await ct.User - // .AsNoTracking() - // .FromSql(q) - // .Skip(pagingOptions.Offset.Value) - // .Take(pagingOptions.Limit.Value) - // .ToArrayAsync(); +// // var items = await ct.User +// // .AsNoTracking() +// // .FromSql(q) +// // .Skip(pagingOptions.Offset.Value) +// // .Take(pagingOptions.Limit.Value) +// // .ToArrayAsync(); - var items = await ct.User - .FromSqlRaw(q) - .AsNoTracking() - .Skip(pagingOptions.Offset.Value) - .Take(pagingOptions.Limit.Value) - .ToArrayAsync(); +// var items = await ct.User +// .FromSqlRaw(q) +// .AsNoTracking() +// .Skip(pagingOptions.Offset.Value) +// .Take(pagingOptions.Limit.Value) +// .ToArrayAsync(); - // var totalRecordCount = await ct.User - // .AsNoTracking() - // .FromSql(q) - // .CountAsync(); +// // var totalRecordCount = await ct.User +// // .AsNoTracking() +// // .FromSql(q) +// // .CountAsync(); - var totalRecordCount = await ct.User.FromSqlRaw(q) - .AsNoTracking() - .CountAsync(); -#pragma warning restore EF1000 +// var totalRecordCount = await ct.User.FromSqlRaw(q) +// .AsNoTracking() +// .CountAsync(); +// #pragma warning restore EF1000 - int itemCount = items.Count();//totalRecordCount doesn't skip and take so not usable here - var cleanedItems = new System.Object[itemCount]; - for (int i = 0; i < itemCount; i++) - { - cleanedItems[i] = CleanUserForReturn(items[i]); - } +// int itemCount = items.Count();//totalRecordCount doesn't skip and take so not usable here +// var cleanedItems = new System.Object[itemCount]; +// for (int i = 0; i < itemCount; i++) +// { +// cleanedItems[i] = CleanUserForReturn(items[i]); +// } - var pageLinks = new PaginationLinkBuilder(Url, routeName, null, pagingOptions, totalRecordCount).PagingLinksObject(); - ApiPagedResponse pr = new ApiPagedResponse(cleanedItems, pageLinks); - return pr; - } +// var pageLinks = new PaginationLinkBuilder(Url, routeName, null, pagingOptions, totalRecordCount).PagingLinksObject(); +// ApiPagedResponse pr = new ApiPagedResponse(cleanedItems, pageLinks); +// return pr; +// } - //get picklist (paged) - internal ApiPagedResponse GetPickList(IUrlHelper Url, string routeName, ListOptions pagingOptions) - { - pagingOptions.Offset = pagingOptions.Offset ?? ListOptions.DefaultOffset; - pagingOptions.Limit = pagingOptions.Limit ?? ListOptions.DefaultLimit; +// //get picklist (paged) +// internal ApiPagedResponse GetPickList(IUrlHelper Url, string routeName, ListOptions pagingOptions) +// { +// pagingOptions.Offset = pagingOptions.Offset ?? ListOptions.DefaultOffset; +// pagingOptions.Limit = pagingOptions.Limit ?? ListOptions.DefaultLimit; - var ret = PickListFetcher.GetPickList(ct, UserId, pagingOptions, AyaObjectFieldDefinitions.AyaObjectFields(AyaObjectFieldDefinitions.USER_KEY), "auser"); +// var ret = PickListFetcher.GetPickList(ct, UserId, pagingOptions, AyaObjectFieldDefinitions.AyaObjectFields(AyaObjectFieldDefinitions.USER_KEY), "auser"); - var pageLinks = new PaginationLinkBuilder(Url, routeName, null, pagingOptions, ret.TotalRecordCount).PagingLinksObject(); +// var pageLinks = new PaginationLinkBuilder(Url, routeName, null, pagingOptions, ret.TotalRecordCount).PagingLinksObject(); - ApiPagedResponse pr = new ApiPagedResponse(ret.Items, pageLinks); - return pr; - } +// ApiPagedResponse pr = new ApiPagedResponse(ret.Items, pageLinks); +// return pr; +// } //////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/server/AyaNova/biz/WidgetBiz.cs b/server/AyaNova/biz/WidgetBiz.cs index d1af917b..20405590 100644 --- a/server/AyaNova/biz/WidgetBiz.cs +++ b/server/AyaNova/biz/WidgetBiz.cs @@ -439,22 +439,16 @@ namespace AyaNova.Biz } - //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 FRAGMENT COLUMNS FROM TEMPLATE - //"select clm,clm,clm" + //BUILD THE QUERY + //SELECT FRAGMENT COLUMNS FROM TEMPLATE + //TODO: Make this a function called from DataList var qSelectColumns = DataListSqlSelectBuilder.Build(DataList.FieldDefinitions, MOCK_WIDGET_USER_EMAIL_DISPLAY_TEMPLATE_JSON, 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)"; + //var qFrom = "from awidget left outer join auser on (awidget.userid=auser.id) left outer join auseroptions on (auser.id=auseroptions.userid)"; + var qFrom=DataList.SQLFrom; //FILTERED? DataFilter TheFilter = null;