public static async Task <IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequestMessage req, ILogger log, [Inject] IApprenticeshipService coursesService) { log.LogInformation($"DeleteCoursesByUKPRN starting"); string strUKPRN = req.RequestUri.ParseQueryString()["UKPRN"]?.ToString() ?? (await(dynamic) req.Content.ReadAsAsync <object>())?.UKPRN; List <string> messagesList = null; if (string.IsNullOrWhiteSpace(strUKPRN)) { return(new BadRequestObjectResult($"Empty or missing UKPRN value.")); } if (!int.TryParse(strUKPRN, out int UKPRN)) { return(new BadRequestObjectResult($"Invalid UKPRN value, expected a valid integer")); } try { messagesList = await coursesService.DeleteBulkUploadApprenticeships(UKPRN); await coursesService.ChangeApprenticeshipStatusForUKPRNSelection(UKPRN, RecordStatus.MigrationPending, RecordStatus.Archived); await coursesService.ChangeApprenticeshipStatusForUKPRNSelection(UKPRN, RecordStatus.MigrationReadyToGoLive, RecordStatus.Archived); if (messagesList == null) { return(new NotFoundObjectResult(UKPRN)); } return(new OkObjectResult(messagesList)); } catch (Exception e) { return(new InternalServerErrorObjectResult(e)); } }
public static async Task <IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequestMessage req, ILogger log, [Inject] IApprenticeshipService apprenticeshipService) { var qryUKPRN = req.RequestUri.ParseQueryString()["UKPRN"]?.ToString() ?? (await(dynamic) req.Content.ReadAsAsync <object>())?.UKPRN; var qryCurrentStatus = req.RequestUri.ParseQueryString()["CurrentStatus"]?.ToString() ?? (await(dynamic) req.Content.ReadAsAsync <object>())?.CurrentStatus; var qryStatusToBeChangedTo = req.RequestUri.ParseQueryString()["StatusToBeChangedTo"]?.ToString() ?? (await(dynamic) req.Content.ReadAsAsync <object>())?.StatusToBeChangedTo;; if (string.IsNullOrWhiteSpace(qryUKPRN)) { return(new BadRequestObjectResult($"Empty or missing UKPRN value.")); } if (!int.TryParse(qryUKPRN, out int UKPRN)) { return(new BadRequestObjectResult($"Invalid UKPRN value, expected a valid integer")); } if (string.IsNullOrWhiteSpace(qryCurrentStatus)) { return(new BadRequestObjectResult($"Empty or missing CurrentStatus value.")); } if (!int.TryParse(qryCurrentStatus, out int intCurrentStatus)) { return(new BadRequestObjectResult($"Invalid CurrentStatus value, expected a valid integer")); } RecordStatus CurrentStatus = (RecordStatus)intCurrentStatus; if (string.IsNullOrWhiteSpace(qryStatusToBeChangedTo)) { return(new BadRequestObjectResult($"Empty or missing StatusToBeChangedTo value.")); } if (!int.TryParse(qryStatusToBeChangedTo, out int intStatusToBeChangedTo)) { return(new BadRequestObjectResult($"Invalid StatusToBeChangedTo value, expected a valid integer")); } RecordStatus StatusToBeChangedTo = RecordStatus.Undefined; if (Enum.IsDefined(typeof(RecordStatus), intStatusToBeChangedTo)) { StatusToBeChangedTo = (RecordStatus)Enum.ToObject(typeof(RecordStatus), intStatusToBeChangedTo); } else { return(new BadRequestObjectResult($"StatusToBeChangedTo value cannot be parse into valid RecordStatus")); } if (StatusToBeChangedTo.Equals(RecordStatus.Undefined)) { return(new BadRequestObjectResult($"StatusToBeChangedTo value is not allowed to be with Undefined RecordStatus")); } await apprenticeshipService.ChangeApprenticeshipStatusForUKPRNSelection(UKPRN, CurrentStatus, StatusToBeChangedTo); return(new OkResult()); }