public async Task <IActionResult> CreateBoard(BoardCreateModel boardModel) { var board = _mapper.Map <Board>(boardModel); if (_context.Boards.Any(b => b.UrlName.Equals(board.UrlName))) { return(BadRequest("Friendly name is already taken")); } var regUser = await _context.RegisteredUsers.FindAsync(User.GetUserId()); board.OwnerId = regUser.Id; var boardUser = new BoardUser { RegisteredUserId = board.OwnerId, Name = boardModel.UserDisplayName }; board.Users = new List <BoardUser> { boardUser }; await _context.Boards.AddAsync(board); await _context.SaveChangesAsync(); return(CreatedAtAction(nameof(Board), new { id = board.Id }, _mapper.Map <BoardModel>(board))); }
public ViewResult Create() { var model = new BoardCreateModel { Board = new PostBoardModel() }; return(View(model)); }
public async Task <ActionResult> Create(BoardCreateModel boardCreateModel) { if (!ModelState.IsValid) { return(View(boardCreateModel)); } GetBoardModel addedBoard = await Mediator.Send(new AddBoardCommand(boardCreateModel.Board)); var file = Request.Form.Files.FirstOrDefault(); if (file != null) { PostImageModel imageModel = _imageFileReader.ConvertImageFileToImageModel(file); await Mediator.Send(new AddBoardImageCommand(imageModel, addedBoard.Id)); } return(RedirectToAction("Details", new { id = addedBoard.Id })); }