public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", Route = "qualified-teachers/dqt-file-transfer-status")] HttpRequest req) { if (!_authorize.AuthorizeRequest(req)) { _log.Warning($"Unauthorized request"); return(new UnauthorizedResult()); } try { var result = await _dqtFileTransferService.GetDQTFileTransferServiceStatus(); if (result == null) { return(new NotFoundObjectResult("No file transfer record(s) found")); } return(new OkObjectResult(GetResultDto(result))); } catch (Exception exception) { _log.Error(exception); return(new ObjectResult(GetResultDto(null, exception.Message)) { StatusCode = 500 }); }
public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", Route = "qualified-teachers/qualified-teaching-status")] HttpRequest req) { string requestReference = req.Headers["x-correlation-id"]; if (string.IsNullOrWhiteSpace(requestReference)) { requestReference = Guid.NewGuid().ToString(); } _log.Info($"Received request. CorrelationId : {requestReference}"); if (!_authorize.AuthorizeRequest(req)) { _log.Warning($"Unauthorized request. CorrelationId : {requestReference}"); return(new UnauthorizedResult()); } try { var trn = req.Query["trn"]; var ni = req.Query["ni"]; if (string.IsNullOrWhiteSpace(trn)) { var msg = $"TeacherReferenceNumber is mandatory."; _log.Info($"{msg} CorrelationId : {requestReference}"); return(new BadRequestObjectResult(GetResultDto(null, msg))); } _log.Info($"Fetching records. CorrelationId : {requestReference}"); var results = await _qtsService.GetQualifiedTeacherRecords(trn, ni); if (!results.Any()) { var msg = $"No records found."; _log.Info($"{msg} CorrelationId : {requestReference}"); return(new NotFoundObjectResult(GetResultDto(null, msg))); } return(new OkObjectResult(GetResultDto(results.ToList()))); } catch (JsonException jsonException) { var errorMsg = $"Error retrieving qualified teacher status data."; _log.Error(new JsonException($"{errorMsg} CorrelationId : {requestReference}", jsonException)); return(new BadRequestObjectResult(GetResultDto(null, errorMsg))); } catch (Exception exception) { var errorMsg = $"Error retrieving qualified teacher status data. {exception.Message}"; _log.Error(new Exception($"{errorMsg} CorrelationId : {requestReference}", exception)); return(new ObjectResult(GetResultDto(null, errorMsg)) { StatusCode = 500 }); }