diff --git a/server/AyaNova/Controllers/UserController.cs b/server/AyaNova/Controllers/UserController.cs
index 044ec7b4..2cb02dc9 100644
--- a/server/AyaNova/Controllers/UserController.cs
+++ b/server/AyaNova/Controllers/UserController.cs
@@ -154,21 +154,15 @@ namespace AyaNova.Api.Controllers
///
- /// Get User pick list
+ /// Get User pick list
///
/// Required roles: Any
///
- /// This list supports querying the Name property
- /// include a "q" parameter for string to search for
- /// use % for wildcards.
- ///
- /// e.g. q=%ohn%
- ///
- /// Query is case insensitive
///
- /// Paged id/name collection of Users with paging data
+ /// Paging, filtering and sorting options
+ /// Paged id/name collection with paging data
[HttpGet("PickList", Name = nameof(UserPickList))]
- public async Task UserPickList([FromQuery] string q, [FromQuery] PagingOptions pagingOptions)
+ public ActionResult UserPickList([FromQuery] PagingOptions pagingOptions)
{
if (serverState.IsClosed)
{
@@ -182,7 +176,7 @@ namespace AyaNova.Api.Controllers
//Instantiate the business object handler
UserBiz biz = UserBiz.GetBiz(ct, HttpContext);
- ApiPagedResponse pr = await biz.GetPickListAsync(Url, nameof(UserPickList), pagingOptions, q);
+ ApiPagedResponse pr = biz.GetPickList(Url, nameof(UserPickList), pagingOptions);
return Ok(new ApiOkWithPagingResponse(pr));
}
diff --git a/server/AyaNova/Controllers/WidgetController.cs b/server/AyaNova/Controllers/WidgetController.cs
index 31eb73a7..e17458ee 100644
--- a/server/AyaNova/Controllers/WidgetController.cs
+++ b/server/AyaNova/Controllers/WidgetController.cs
@@ -134,13 +134,13 @@ namespace AyaNova.Api.Controllers
///
- /// Get widget pick list
+ /// Get pick list
///
/// Required roles: Any
///
///
/// Paging, filtering and sorting options
- /// Paged id/name collection of widgets with paging data
+ /// Paged id/name collection with paging data
[HttpGet("PickList", Name = nameof(WidgetPickList))]
public ActionResult WidgetPickList([FromQuery] PagingOptions pagingOptions)
{
@@ -156,7 +156,7 @@ namespace AyaNova.Api.Controllers
ApiPagedResponse pr = biz.GetPickList(Url, nameof(WidgetPickList), pagingOptions);
return Ok(new ApiOkWithPagingResponse(pr));
}
-
+
///
/// Put (update) widget
diff --git a/server/AyaNova/biz/UserBiz.cs b/server/AyaNova/biz/UserBiz.cs
index a0a65896..069aa42a 100644
--- a/server/AyaNova/biz/UserBiz.cs
+++ b/server/AyaNova/biz/UserBiz.cs
@@ -172,15 +172,6 @@ namespace AyaNova.Biz
pagingOptions.Offset = pagingOptions.Offset ?? PagingOptions.DefaultOffset;
pagingOptions.Limit = pagingOptions.Limit ?? PagingOptions.DefaultLimit;
- // var items = await ct.User
- // .AsNoTracking()
- // .OrderBy(m => m.Id)
- // .Skip(pagingOptions.Offset.Value)
- // .Take(pagingOptions.Limit.Value)
- // .ToArrayAsync();
-
- // var totalRecordCount = await ct.User.CountAsync();
- // var pageLinks = new PaginationLinkBuilder(Url, routeName, null, pagingOptions, totalRecordCount).PagingLinksObject();
//BUILD THE QUERY
//base query
@@ -233,52 +224,65 @@ namespace AyaNova.Biz
}
+
+
//get picklist (paged)
- internal async Task> GetPickListAsync(IUrlHelper Url, string routeName, PagingOptions pagingOptions, string q)
+ internal ApiPagedResponse GetPickList(IUrlHelper Url, string routeName, PagingOptions pagingOptions)
{
+ // pagingOptions.Offset = pagingOptions.Offset ?? PagingOptions.DefaultOffset;
+ // pagingOptions.Limit = pagingOptions.Limit ?? PagingOptions.DefaultLimit;
+
+ // NameIdItem[] items;
+ // int totalRecordCount = 0;
+
+ // if (!string.IsNullOrWhiteSpace(q))
+ // {
+ // items = await ct.User
+ // .AsNoTracking()
+ // .Where(m => EF.Functions.ILike(m.Name, q))
+ // .OrderBy(m => m.Name)
+ // .Skip(pagingOptions.Offset.Value)
+ // .Take(pagingOptions.Limit.Value)
+ // .Select(m => new NameIdItem()
+ // {
+ // Id = m.Id,
+ // Name = m.Name
+ // }).ToArrayAsync();
+
+ // totalRecordCount = await ct.User.Where(m => EF.Functions.ILike(m.Name, q)).CountAsync();
+ // }
+ // else
+ // {
+ // items = await ct.User
+ // .AsNoTracking()
+ // .OrderBy(m => m.Name)
+ // .Skip(pagingOptions.Offset.Value)
+ // .Take(pagingOptions.Limit.Value)
+ // .Select(m => new NameIdItem()
+ // {
+ // Id = m.Id,
+ // Name = m.Name
+ // }).ToArrayAsync();
+
+ // totalRecordCount = await ct.User.CountAsync();
+ // }
+
+
+
+ // var pageLinks = new PaginationLinkBuilder(Url, routeName, null, pagingOptions, totalRecordCount).PagingLinksObject();
+
+ // ApiPagedResponse pr = new ApiPagedResponse(items, pageLinks);
+ // return pr;
+
pagingOptions.Offset = pagingOptions.Offset ?? PagingOptions.DefaultOffset;
pagingOptions.Limit = pagingOptions.Limit ?? PagingOptions.DefaultLimit;
- NameIdItem[] items;
- int totalRecordCount = 0;
- if (!string.IsNullOrWhiteSpace(q))
- {
- items = await ct.User
- .AsNoTracking()
- .Where(m => EF.Functions.ILike(m.Name, q))
- .OrderBy(m => m.Name)
- .Skip(pagingOptions.Offset.Value)
- .Take(pagingOptions.Limit.Value)
- .Select(m => new NameIdItem()
- {
- Id = m.Id,
- Name = m.Name
- }).ToArrayAsync();
+ var ret = PickListFetcher.GetPickList(ct, UserId, pagingOptions, "auser");
- totalRecordCount = await ct.User.Where(m => EF.Functions.ILike(m.Name, q)).CountAsync();
- }
- else
- {
- items = await ct.User
- .AsNoTracking()
- .OrderBy(m => m.Name)
- .Skip(pagingOptions.Offset.Value)
- .Take(pagingOptions.Limit.Value)
- .Select(m => new NameIdItem()
- {
- Id = m.Id,
- Name = m.Name
- }).ToArrayAsync();
+ var pageLinks = new PaginationLinkBuilder(Url, routeName, null, pagingOptions, ret.TotalRecordCount).PagingLinksObject();
- totalRecordCount = await ct.User.CountAsync();
- }
-
-
-
- var pageLinks = new PaginationLinkBuilder(Url, routeName, null, pagingOptions, totalRecordCount).PagingLinksObject();
-
- ApiPagedResponse pr = new ApiPagedResponse(items, pageLinks);
+ ApiPagedResponse pr = new ApiPagedResponse(ret.Items, pageLinks);
return pr;
}
diff --git a/server/AyaNova/biz/WidgetBiz.cs b/server/AyaNova/biz/WidgetBiz.cs
index 8c90e45a..db59e57d 100644
--- a/server/AyaNova/biz/WidgetBiz.cs
+++ b/server/AyaNova/biz/WidgetBiz.cs
@@ -213,7 +213,16 @@ namespace AyaNova.Biz
}
- //get picklist (paged)
+
+
+
+ ///
+ /// Get PickList
+ ///
+ ///
+ ///
+ ///
+ ///
internal ApiPagedResponse GetPickList(IUrlHelper Url, string routeName, PagingOptions pagingOptions)
{
pagingOptions.Offset = pagingOptions.Offset ?? PagingOptions.DefaultOffset;
diff --git a/test/raven-integration/Widget/WidgetLists.cs b/test/raven-integration/Widget/WidgetLists.cs
index cf079217..c438da63 100644
--- a/test/raven-integration/Widget/WidgetLists.cs
+++ b/test/raven-integration/Widget/WidgetLists.cs
@@ -113,32 +113,6 @@ namespace raven_integration
}
- ///
- ///
- ///
- [Fact]
- public async void PickListSearchRouteShouldWorkAsExpected()
- {
- why isn't this failing now?
- //CREATE
- dynamic d = new JObject();
- d.name = Util.Uniquify("Soft PickListSearchRouteShouldWorkAsExpected");
- d.created = DateTime.Now.ToString();
- d.dollarAmount = 1.11m;
- d.active = true;
- d.roles = 0;
-
- ApiResponse r1 = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString());
- Util.ValidateDataReturnResponseOk(r1);
-
- //Get all
- ApiResponse a = await Util.GetAsync("Widget/picklist?Offset=2&Limit=3&q=%25of%25", await Util.GetTokenAsync("InventoryLimited"));
- Util.ValidateDataReturnResponseOk(a);
- Util.ValidateHTTPStatusCode(a, 200);
- ((JArray)a.ObjectResponse["data"]).Count.Should().BeGreaterThan(0);
- }
-
-
///
/// Paging test
///