public IActionResult Post(string bookID, string readerID, string lendDate) { int bookIDParse = 0; int readerIDParse = 0; DateTime dateParse = DateTime.MinValue; try { bookIDParse = int.Parse(bookID); readerIDParse = int.Parse(readerID); dateParse = DateTime.Parse(lendDate); } catch (Exception exception) { return(BadRequest(exception.Message)); } var record = Context.BookReader.SingleOrDefault(x => x.BookID == bookIDParse); if (record != null) { return(StatusCode(409)); } var bookReaderModel = new BookReaderModel() { BookID = bookIDParse, ReaderID = readerIDParse, LendDate = dateParse }; Context.BookReader.Add(bookReaderModel); Context.SaveChanges(); return(StatusCode(201)); }
/// <summary> /// Akcja Create, tworząca nowy obiekt. Dostępna pod API: <strong>/api/lend</strong>. /// </summary> /// <param name="input">Model wypożyczenia książki</param> /// Kod 400 jeśli walidacja danych nie powiodła się, kod 409 jeśli zasób już istnieje. /// Kod 200 jeśli aktualizacja przebiegła pomyślnie. public IHttpActionResult Post(BookReaderModel input) { if (input.BookID == 0 || input.ReaderID == 0) { return(StatusCode(HttpStatusCode.BadRequest)); } var record = Context.BookReader.SingleOrDefault(x => x.BookID == input.ID); if (record != null) { return(StatusCode(HttpStatusCode.Conflict)); } var bookReaderModel = new BookReaderModel() { BookID = input.ID, ReaderID = input.ReaderID, LendDate = input.LendDate }; Context.BookReader.Add(bookReaderModel); Context.SaveChanges(); return(StatusCode(HttpStatusCode.Created)); }
private static void AddTestData(IServiceProvider serviceProvider) { var context = serviceProvider.GetRequiredService <LibraryDbContext>(); context.Database.EnsureCreated(); var book1 = new BookModel { Id = "book1", Title = "First Book Title", TotalPages = 200, Ratings = 3.5, Type = BookType.Novel, Label = "First Book Label", Created = DateTime.UtcNow, }; var book2 = new BookModel { Id = "book2", Title = "Second Book Title", TotalPages = 100, Ratings = 4.8, Type = BookType.Fantasy, Label = "Second Book Label", Created = DateTime.UtcNow.AddDays(-5) }; var book3 = new BookModel { Id = "book3", Title = "Third Book Title", TotalPages = 150, Ratings = 2.5, Type = BookType.Poem, Label = "Third Book Label", Created = DateTime.UtcNow.AddMonths(-1) }; var chapter1 = new ChapterModel { Id = "b1c1", Name = "First Chapter", Book = book1, BookId = "book1" }; var chapter2 = new ChapterModel { Id = "b1c2", Name = "Second Chapter", Book = book1, BookId = "book1" }; var chapter3 = new ChapterModel { Id = "b2c1", Name = "First Chapter", Book = book2, BookId = "book2" }; var chapter4 = new ChapterModel { Id = "b2c2", Name = "Second Chapter", Book = book2, BookId = "book2" }; book1.Chapters = new List <ChapterModel> { chapter1, chapter2 }; book2.Chapters = new List <ChapterModel> { chapter3, chapter4 }; var author1 = new AuthorModel { Id = "author1", Name = "John Doe", Books = new List <BookModel> { book1, book2, book3 } }; book1.Author = author1; book1.AuthorId = author1.Id; book2.Author = author1; book2.AuthorId = author1.Id; book3.Author = author1; book3.AuthorId = author1.Id; var reader1 = new ReaderModel { Id = "reader1", Name = "Jimmy" }; var reader2 = new ReaderModel { Id = "reader2", Name = "Vanessa" }; var bookReader1 = new BookReaderModel { Book = book1, BookId = book1.Id, Reader = reader1, ReaderId = reader1.Id }; var bookReader2 = new BookReaderModel { Book = book1, BookId = book1.Id, Reader = reader2, ReaderId = reader2.Id }; var bookReader3 = new BookReaderModel { Book = book2, BookId = book2.Id, Reader = reader2, ReaderId = reader2.Id }; context.Books.Add(book1); context.Books.Add(book2); context.Books.Add(book3); context.Chapters.Add(chapter1); context.Chapters.Add(chapter2); context.Chapters.Add(chapter3); context.Chapters.Add(chapter4); context.Authors.Add(author1); context.Readers.Add(reader1); context.Readers.Add(reader2); context.BookReaders.Add(bookReader1); context.BookReaders.Add(bookReader2); context.BookReaders.Add(bookReader3); context.SaveChanges(); }