public async Task <ActionResult <FolderResource> > Get(int id) { try { var query = new ReadFolderQuery(id); var response = await mediator.Send(query); var folderResource = new FolderResource(response); folderResource.EnrichWithLinks(this); return(folderResource); } catch (NotFoundRequestException) { return(NotFound()); } }
public async Task <ActionResult <FolderResource> > Post([FromBody] FolderResource folder) { try { var command = new CreateFolderCommand(folder.Name); var folderId = await mediator.Send(command); var query = new ReadFolderQuery(folderId); var response = await mediator.Send(query); var folderResource = new FolderResource(response); folderResource.EnrichWithLinks(this); return(folderResource); } catch (FolderNameMustBeUniqueInParentRequestException) { return(this.BadRequest(ApiErrors.FolderNameMustBeUniqueInParent)); } }