示例#1
0
        public async Task <IActionResult> TeachCoursesAsync([FromBody] SetCourseRequest model, CancellationToken token)
        {
            try
            {
                var userId  = _userManager.GetLongUserId(User);
                var command = new TeachCourseCommand(userId, model.Name);
                await _commandBus.DispatchAsync(command, token);

                return(Ok());
            }
            catch (InvalidOperationException)
            {
                ModelState.AddModelError("x", "Not such course");
                return(BadRequest());
            }
        }
示例#2
0
        public async Task <IActionResult> CreateCoursesAsync([FromBody] SetCourseRequest model, CancellationToken token)
        {
            try
            {
                var userId  = _userManager.GetLongUserId(User);
                var command = new CreateCourseCommand(userId, model.Name);
                await _commandBus.DispatchAsync(command, token);

                var user = await _userManager.GetUserAsync(User);

                await _signInManager.RefreshSignInAsync(user);

                return(Ok(model));
            }
            catch (DuplicateRowException)
            {
                return(Conflict());
            }
        }