예제 #1
0
        public IActionResult AddBookToLibrary(long idLibrary, [FromBody] MyLibrary item)
        {
            if (item == null || item.libraryid != idLibrary)
            {
                return(BadRequest());
            }
            var library = libraryRepository.FindByID(idLibrary);

            if (library == null)
            {
                return(NotFound("Could not find library with id : " + idLibrary + ". Please try again with valid id."));
            }

            library.myBooks = item.myBooks;

            MyLibrary updatedLibrary = libraryRepository.AddBookToLibrary(library);

            if (updatedLibrary.libraryid == -1)
            {
                return(NotFound("Invalid book id : " + updatedLibrary.libraryname + ". Please try again"));
            }

            if (updatedLibrary.libraryid == -2)
            {
                return(NotFound("Book id : " + updatedLibrary.libraryname + " already present in same library. Please try again by removing that id"));
            }

            if (updatedLibrary.libraryid == -3)
            {
                return(NotFound("Book id : " + updatedLibrary.libraryname + " is present in another library. \nPlease use ChangeLibrary endpoint if you want to move book to another library"));
            }

            return(CreatedAtRoute("AddBookToLibrary", new { idLibrary = idLibrary }, updatedLibrary));
        }