// PUT:api/Bookmarks public IHttpActionResult Put([FromBody] BookmarkAPI bookmarkApi) { if (!ModelState.IsValid) { return(BadRequest()); } try { Bookmark oldBookmark = _bookmarkRepository.GetById(bookmarkApi.Id); if (oldBookmark == null) { _bookmarkRepository.Insert(bookmarkApi.ToBookmarkNoCollection()); } else { Bookmark updatedBookmark = bookmarkApi.ToBookmarkNoCollection(); updatedBookmark.Collection = oldBookmark.Collection; _bookmarkRepository.Update(updatedBookmark); } } catch (Exception ex) { return(InternalServerError(ex)); } return(Ok()); }
// POST:api/Bookmarks public IHttpActionResult Post([FromBody] BookmarkAPI bookmarkApi) { if (!ModelState.IsValid) { return(BadRequest()); } _bookmarkRepository.Insert(bookmarkApi.ToBookmarkNoCollection()); return(Ok()); }
public IHttpActionResult GetByIndex(Guid collectionId, int index) { try { var collection = _repo.GetById(collectionId); if (collection == null || index <= 0) { return(BadRequest($"No collection exists with ID ${collectionId}")); } if (collection.Bookmarks == null || collection.Bookmarks.Count < index) { return(NotFound()); } var bookmarkApi = new BookmarkAPI(collection.Bookmarks.ElementAt(index - 1)); return(Ok(bookmarkApi)); } catch (Exception ex) { //TODO: Log error return(InternalServerError(ex)); } }
public IHttpActionResult GetById(Guid collectionId, Guid id) { try { var collection = _repo.GetById(collectionId); if (collection == null) { return(BadRequest($"No collection exists with ID ${collectionId}")); } if (collection.Bookmarks == null || !collection.Bookmarks.Any(x => x.Id == id)) { return(NotFound()); } var bookmarkApi = new BookmarkAPI(collection.Bookmarks.FirstOrDefault(x => x.Id == id)); return(Ok(bookmarkApi)); } catch (Exception ex) { //TODO: Log error return(InternalServerError(ex)); } }