diff --git a/server/AyaNova/Controllers/PickListController.cs b/server/AyaNova/Controllers/PickListController.cs
index 6600d763..2f0b4ce7 100644
--- a/server/AyaNova/Controllers/PickListController.cs
+++ b/server/AyaNova/Controllers/PickListController.cs
@@ -89,7 +89,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.GetPickListAsync(PickList, query, inactive);
-
+
if (o == null)
return BadRequest(new ApiErrorResponse(biz.Errors));
else
@@ -97,6 +97,36 @@ namespace AyaNova.Api.Controllers
}
+
+ ///
+ /// Get PickListTemplate
+ ///
+ ///
+ /// The current effective template, either a customized one or the default
+ [HttpGet("Template/{ayatype}")]
+ public async Task GetDataListView([FromRoute] AyaType ayaType)
+ {
+ if (serverState.IsClosed)
+ return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason));
+
+ //Instantiate the business object handler
+ PickListBiz biz = PickListBiz.GetBiz(ct, HttpContext);
+
+ if (!Authorized.HasReadFullRole(HttpContext.Items, biz.BizType))
+ return StatusCode(403, new ApiNotAuthorizedResponse());
+
+ if (!ModelState.IsValid)
+ return BadRequest(new ApiErrorResponse(ModelState));
+
+ var o = await biz.GetAsync(ayaType);
+ if (o == null)
+ return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND));
+
+ return Ok(ApiOkResponse.Response(o, !Authorized.HasModifyRole(HttpContext.Items, biz.BizType)));
+ }
+
+
+
///
/// List of all PickList templates
///
diff --git a/server/AyaNova/biz/PickListBiz.cs b/server/AyaNova/biz/PickListBiz.cs
index 4996c108..3cfda9d7 100644
--- a/server/AyaNova/biz/PickListBiz.cs
+++ b/server/AyaNova/biz/PickListBiz.cs
@@ -179,36 +179,23 @@ namespace AyaNova.Biz
////////////////////////////////////////////////////////////////////////////////////////////////
- //DELETE
+ //DELETE (return to default template)
//
internal async Task DeleteAsync(AyaType ayaType)
{
-
//REMOVE ANY RECORD WITH SAME AYATYPE ID
- throw new System.NotImplementedException();
+ long lTypeId = (long)ayaType;
- //Determine if the object can be deleted, do the deletion tentatively
- //Probably also in here deal with tags and associated search text etc
+ var o = await ct.PickListTemplate.FirstOrDefaultAsync(m => m.Id == lTypeId);
+ if (o != null)
+ {
+ ct.PickListTemplate.Remove(o);
+ await ct.SaveChangesAsync();
+ //Event log process delete
+ await EventLogProcessor.DeleteObjectLogAsync(UserId, BizType, lTypeId, ayaType.ToString(), ct);
+ }
- //FUTURE POSSIBLE NEED
- //ValidateCanDelete(dbObj);
-
- // if (HasErrors)
- // return false;
- // ct.DataListView.Remove(dbObj);
- // await ct.SaveChangesAsync();
-
- // //Delete sibling objects
-
- // //Event log process delete
- // await EventLogProcessor.DeleteObjectLogAsync(UserId, BizType, dbObj.Id, dbObj.Name, ct);
-
-
- // //Delete search index
- // //Search.ProcessDeletedObjectKeywords(dbObj.Id, BizType);
-
-
- // return true;
+ return true;
}
////////////////////////////////////////////////////////////////////////////////////////////////