Esempio n. 1
0
        // 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());
        }
Esempio n. 2
0
        // POST:api/Bookmarks
        public IHttpActionResult Post([FromBody] BookmarkAPI bookmarkApi)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            _bookmarkRepository.Insert(bookmarkApi.ToBookmarkNoCollection());
            return(Ok());
        }
Esempio n. 3
0
        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));
            }
        }
Esempio n. 4
0
        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));
            }
        }