Ejemplo n.º 1
0
 public override async Task <NewBookReply> Save(NewBookRequest request, ServerCallContext context)
 {
     return(await Task.FromResult(new NewBookReply
     {
         Id = Guid.NewGuid().ToString()
     }));
 }
Ejemplo n.º 2
0
        public ActionResult <Infrastructure.Entities.Book> Create(NewBookRequest newBookRequest)
        {
            var newBook = Book.Builder.CreateNew()
                          .WithId(new ObjectId().ToString())
                          .WithBookName(newBookRequest.BookName)
                          .Build();

            _bookService.Create(newBook);

            return(CreatedAtRoute("GetBook", new { id = newBook.Id }, newBook));
        }
Ejemplo n.º 3
0
        public IActionResult CreateBook([FromBody] NewBookRequest bookRequest)
        {
            var now  = DateTime.UtcNow;
            var book = new Book
            {
                DateCreated = now,
                DateUpdated = now,
                Title       = bookRequest.Title,
                Author      = bookRequest.Author
            };

            _bookService.AddBook(book);
            return(Ok($"Book Created: {book.Title}"));
        }
Ejemplo n.º 4
0
        public ActionResult CreateBook([FromBody] NewBookRequest bookRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Model state isn't valid."));
            }

            var now  = DateTime.UtcNow;
            var book = new Book {
                Title = bookRequest.Title, Author = bookRequest.Author, CreatedAt = now, UpdatedAt = now
            };

            _bookService.AddBook(book);
            return(Ok($"Book Created: {book.Title}"));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> New([FromQuery] string accessToken, [FromBody] NewBookRequest request)
        {
            var libraryId = await this.db.ExecuteScalarAsync <int>("SELECT id FROM libraries WHERE access_token = @accessToken", new { accessToken });

            if (libraryId == 0)
            {
                return(NotFound());
            }

            var param = new {
                name      = request.Name,
                isbn      = request.ISBN,
                pages     = request.Pages,
                libraryId = libraryId
            };
            var id = await this.db.ExecuteScalarAsync <int>(@"INSERT INTO books (name, isbn, pages, library_id) values (@name, @isbn, @pages, @libraryId) returning id", param);

            return(Ok(new NewBookResponse(id)));
        }