public IActionResult UpdateAlbum([FromBody] Book existingBook) { BookReadAddResponse response = _booksDataControllerUtilities.UpdateExistingBook(existingBook); return(Ok(response)); }
public BookReadAddResponse DeleteBook(string id) { // set up the successful response BookReadAddResponse response = new BookReadAddResponse { ErrorCode = (int)BookReadAddResponseCode.Success, NewItem = new Book(), FailReason = "", UserId = "" }; // Find the item GeographyProvider geographyProvider; BooksReadProvider booksReadProvider; _books = new ObservableCollection <Book>(); if (GetProviders(out geographyProvider, out booksReadProvider)) { var itemToDelete = _booksReadDatabase.LoadedItems.FirstOrDefault(x => x.Id.ToString() == id); if (itemToDelete == null) { response.ErrorCode = (int)BookReadAddResponseCode.UnknownItem; response.FailReason = "Could not find item"; } else { _booksReadDatabase.RemoveItemFromDatabase(itemToDelete); } } return(response); }
public IActionResult Delete(string id) { // set up the successful response BookReadAddResponse response = _booksDataControllerUtilities.DeleteBook(id); return(Ok(response)); }
/// <summary> /// Adds a new user book read. /// </summary> /// <param name="bookReadAddRequest">The new book read to try to add.</param> /// <returns>The action result.</returns> public BookReadAddResponse AddNewBookRead(BookReadAddRequest bookReadAddRequest) { BookReadAddResponse response = new BookReadAddResponse { ErrorCode = (int)BookReadAddResponseCode.Success, FailReason = "", UserId = bookReadAddRequest.UserId }; // First check that the user exists User userLogin = _userDatabase.LoadedItems.FirstOrDefault(x => x.Id.ToString() == bookReadAddRequest.UserId); if (userLogin == null) { response.ErrorCode = (int)BookReadAddResponseCode.UnknownUser; response.FailReason = "Could not find this user."; return(response); } // Check the book data is valid BookRead newBook; if (!GetBookRead(bookReadAddRequest, out newBook)) { response.ErrorCode = (int)BookReadAddResponseCode.InvalidItem; response.FailReason = "Invalid book data please try again."; return(response); } // Check if this is duplicate GeographyProvider geographyProvider; BooksReadProvider booksReadProvider; _books = new ObservableCollection <Book>(); if (GetProviders(out geographyProvider, out booksReadProvider)) { BookRead match = booksReadProvider.BooksRead.FirstOrDefault( x => x.Author == newBook.Author && x.Title == newBook.Title && x.DateString == newBook.DateString); if (match != null) { response.ErrorCode = (int)BookReadAddResponseCode.Duplicate; response.FailReason = "This book has already been added."; return(response); } } newBook.User = userLogin.Name; _booksReadDatabase.AddNewItemToDatabase(newBook); response.NewItem = new Book(newBook); return(response); }
public IActionResult Post([FromBody] BookReadAddRequest bookReadAddRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } BookReadAddResponse response = _booksDataControllerUtilities.AddNewBookRead(bookReadAddRequest); return(Ok(response)); }
public BookReadAddResponse UpdateExistingBook(Book existingBook) { // set up the successful response BookReadAddResponse response = new BookReadAddResponse { ErrorCode = (int)UserResponseCode.Success, NewItem = new Book(existingBook), FailReason = "", UserId = "" }; // First check that the user exists User userLogin = _userDatabase.LoadedItems.FirstOrDefault(x => x.Id.ToString() == existingBook.User); if (userLogin == null) { response.ErrorCode = (int)BookReadAddResponseCode.UnknownUser; response.FailReason = "Could not find this user."; return(response); } // Check the book data is valid BookRead newBook; if (!GetBookRead(existingBook, out newBook)) { response.ErrorCode = (int)BookReadAddResponseCode.InvalidItem; response.FailReason = "Invalid book data please try again."; return(response); } // Find the item GeographyProvider geographyProvider; BooksReadProvider booksReadProvider; _books = new ObservableCollection <Book>(); if (GetProviders(out geographyProvider, out booksReadProvider)) { BookRead itemToUpdate = _booksReadDatabase.LoadedItems.FirstOrDefault(x => x.Id.ToString() == existingBook.Id); if (itemToUpdate == null) { response.ErrorCode = (int)BookReadAddResponseCode.UnknownItem; response.FailReason = "Could not find item"; } else { itemToUpdate.DateString = newBook.DateString; itemToUpdate.Date = newBook.Date; itemToUpdate.Author = newBook.Author; itemToUpdate.Title = newBook.Title; itemToUpdate.Pages = newBook.Pages; itemToUpdate.Note = newBook.Note; itemToUpdate.Nationality = newBook.Nationality; itemToUpdate.OriginalLanguage = newBook.OriginalLanguage; itemToUpdate.ImageUrl = newBook.ImageUrl; itemToUpdate.Tags = newBook.Tags.ToList(); itemToUpdate.Format = newBook.Format; _booksReadDatabase.UpdateDatabaseItem(itemToUpdate); } } return(response); }