This commit is contained in:
2020-03-23 19:58:27 +00:00
parent a40aa0cc90
commit cb08a727fa
4 changed files with 8 additions and 6 deletions

View File

@@ -3,6 +3,7 @@
## Pick list overview ## Pick list overview
some are search only, some pick and search etc some are search only, some pick and search etc
initial form load preselected will not fill list if it doesn't have to to save bandwidth
## Selecting ## Selecting

View File

@@ -55,9 +55,10 @@ namespace AyaNova.Api.Controllers
/// Independantely of this, if an addition space separated string that begins with two consecutive periods is encountered that will be considered a separate match to the TAGS collection of each object /// Independantely of this, if an addition space separated string that begins with two consecutive periods is encountered that will be considered a separate match to the TAGS collection of each object
/// So a tag query might be entered as "..zon some" which would match all tags LIKE 'zon' and template fields LIKE 'some'</param> /// So a tag query might be entered as "..zon some" which would match all tags LIKE 'zon' and template fields LIKE 'some'</param>
/// <param name="inactive">Include inactive objects in the returned list </param> /// <param name="inactive">Include inactive objects in the returned list </param>
/// <param name="preId">Return only one item (for pre-selected items on forms) </param>
/// <returns>Filtered list</returns> /// <returns>Filtered list</returns>
[HttpGet("List")] [HttpGet("List")]
public async Task<IActionResult> GetList([FromQuery]AyaType ayaType, [FromQuery]string query, [FromQuery] bool inactive) public async Task<IActionResult> GetList([FromQuery]AyaType ayaType, [FromQuery]string query, [FromQuery] bool inactive, [FromQuery]long preId)
{ {
if (!serverState.IsOpen) if (!serverState.IsOpen)
return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason)); return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason));
@@ -80,7 +81,7 @@ namespace AyaNova.Api.Controllers
//Instantiate the business object handler //Instantiate the business object handler
PickListBiz biz = PickListBiz.GetBiz(ct, HttpContext); PickListBiz biz = PickListBiz.GetBiz(ct, HttpContext);
var o = await biz.GetPickListAsync(PickList, query, inactive, log); var o = await biz.GetPickListAsync(PickList, query, inactive, preId, log);
if (o == null) if (o == null)
return BadRequest(new ApiErrorResponse(biz.Errors)); return BadRequest(new ApiErrorResponse(biz.Errors));
else else

View File

@@ -11,7 +11,7 @@ namespace AyaNova.PickList
internal static class PickListFetcher internal static class PickListFetcher
{ {
internal static async Task<List<NameIdActiveItem>> GetResponseAsync(IAyaPickList PickList, string autoCompleteQuery, internal static async Task<List<NameIdActiveItem>> GetResponseAsync(IAyaPickList PickList, string autoCompleteQuery,
string tagSpecificQuery, bool includeInactive, AyContext ct, ILogger log) string tagSpecificQuery, bool includeInactive, long preId, AyContext ct, ILogger log)
{ {
//Sort out effective Template //Sort out effective Template
@@ -68,7 +68,7 @@ namespace AyaNova.PickList
//log out the exception and the query //log out the exception and the query
log.LogInformation("PickList query failed unexpectedly. Query was:"); log.LogInformation("PickList query failed unexpectedly. Query was:");
log.LogInformation(q); log.LogInformation(q);
log.LogInformation(e,"DB Exception"); log.LogInformation(e, "DB Exception");
throw new System.Exception("PickListFetcher - Query failed see log"); throw new System.Exception("PickListFetcher - Query failed see log");
} }

View File

@@ -70,7 +70,7 @@ namespace AyaNova.Biz
//get picklist //get picklist
internal async Task<List<NameIdActiveItem>> GetPickListAsync(IAyaPickList PickList, string query, bool inactive, ILogger log) internal async Task<List<NameIdActiveItem>> GetPickListAsync(IAyaPickList PickList, string query, bool inactive, long preId, ILogger log)
{ {
//Crack and validate the query part set a broken rule if not valid and return null //Crack and validate the query part set a broken rule if not valid and return null
@@ -134,7 +134,7 @@ namespace AyaNova.Biz
} }
//Autocomplete and tagonly query terms now set for consumption by PickListFetcher, ready to fetch... //Autocomplete and tagonly query terms now set for consumption by PickListFetcher, ready to fetch...
List<NameIdActiveItem> items = await PickListFetcher.GetResponseAsync(PickList, AutoCompleteQuery, TagSpecificQuery, inactive, ct, log); List<NameIdActiveItem> items = await PickListFetcher.GetResponseAsync(PickList, AutoCompleteQuery, TagSpecificQuery, inactive, preId, ct, log);
return items; return items;
} }