Beispiel #1
0
        public static async Task <IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req,
                                                     ILogger log,
                                                     [Inject] ICourseTextService courseTextService)
        {
            string          fromQuery = req.Query["LARS"];
            CourseTextModel persisted = null;

            if (string.IsNullOrWhiteSpace(fromQuery))
            {
                return(new BadRequestObjectResult($"Empty or missing LARS Reference."));
            }
            try
            {
                persisted = (CourseTextModel)await courseTextService.GetCourseTextByLARS(fromQuery);

                if (persisted == null)
                {
                    return(new NotFoundObjectResult(fromQuery));
                }

                return(new OkObjectResult(persisted));
            }
            catch (Exception e)
            {
                return(new InternalServerErrorObjectResult(e));
            }
        }
        public async Task <ICourseText> GetCourseTextByLARS(string LARSRef)
        {
            Throw.IfNull(LARSRef, nameof(LARSRef));

            CourseTextModel persisted = null;

            using (var client = _cosmosDbHelper.GetClient())
            {
                var docs = _cosmosDbHelper.GetCourseTextByLARS(client, _settings.CourseTextCollectionId, LARSRef);
                persisted = docs;
            }

            return(persisted);
        }