예제 #1
0
        public static async Task <IActionResult> CreateClass(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "Class")] HttpRequest req,
            [CosmosDB(ConnectionStringSetting = "cosmos-bl-tutorial-serverless")] DocumentClient documentClient,
            ILogger log)
        {
            log.LogInformation("Triggering CRUD_GetClassById by HTTP Trigger");

            try
            {
                string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
                var    data        = JsonConvert.DeserializeObject <ClassDTO>(requestBody);

                var repsClass = new ClassRepository(documentClient);
                var classObj  = new Class
                {
                    ClassCode   = data.ClassCode,
                    Description = data.Description
                };

                var options = new EventGridOptions {
                    PublishEvent = false
                };

                await repsClass.CreateAsync(classObj, options);

                return(new OkObjectResult(classObj));
            }
            catch (Exception e)
            {
                log.LogError($"Error : {e.Message}");

                return(new BadRequestObjectResult($"Error : {e.Message}"));
            }
        }