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()); } }
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()); } }