public async Task <IHttpActionResult> Post(string boardSlug, BoardTask boardTask) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var result = await mediator.Send(new CreateBoardTaskCommand { BoardSlug = boardSlug, BoardTask = boardTask }); hyperMediaFactory.Apply(result); return(Created(hyperMediaFactory.GetLink(result, Link.SELF), result)); } catch (BoardColumnNotFoundException) { return(BadRequest("Board Column Not Found")); } catch (BoardNotFoundException) { return(NotFound()); } }
public async Task <IHttpActionResult> Post(Board board) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var result = await mediator.Send( new CreateBoardCommand { Board = board }); hyperMediaFactory.Apply(result); return(Created(hyperMediaFactory.GetLink(result, Link.SELF), result)); } catch (CreateBoardCommandSlugExistsException) { return(Conflict()); } }
public async Task <IHttpActionResult> Put(string boardSlug, string boardColumnSlug, BoardColumn boardColumn) { try { var result = await mediator.Send(new UpdateBoardColumnCommand { BoardSlug = boardSlug, BoardColumnSlug = boardColumnSlug, BoardColumn = boardColumn }); hyperMediaFactory.Apply(result); return(Ok(result)); } catch (BoardNotFoundException) { return(NotFound()); } catch (BoardColumnNotFoundException) { return(NotFound()); } }