Exemplo n.º 1
0
        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
                });
            }