示例#1
0
        public async Task ProcessQueueMessage([ServiceBusTrigger("coursesignup", Connection = "ServiceBus")] string message, ILogger logger)
        {
            try
            {
                var command = Newtonsoft.Json.JsonConvert.DeserializeObject <CourseSignupCommand>(message);
                await CommandService.SignupCourse(command);

                //Email success - Mock data
                await EmailProvider.SendEmail("*****@*****.**", "Signup success!", "Success");
            }
            catch (Exception ex)
            {
                //Log exception and Email failure
                await EmailProvider.SendEmail("*****@*****.**", "Signup failed!", "Failure");
            }
        }
示例#2
0
        public async Task <IActionResult> SignupCourse(Guid courseId, [FromBody] SignupCourseRequest request)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(StatusCode(StatusCodes.Status400BadRequest));
                }
                var result = await CommandService.SignupCourse(new CourseSignupCommand(courseId, request));

                return(Ok(new SignupCourseResponse {
                    Success = true
                }));
            }
            catch (Exception ex)
            {
                // To do - Handle exceptions, log it and throw appropriate errors
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }