public async Task <IActionResult> PostAsync(CreateBooksRequest request, CancellationToken cancellationToken)
        {
            _logger.LogInformation("Books/Post was requested.");
            var response = await _repo.BooksRepository.CreateAsync(_mapper.Map <BookDTO>(request));

            return(Ok(_mapper.Map <BooksResponse>(response)));
        }
Exemple #2
0
        public async Task <HttpResponseMessage> CreateAsync(CreateBooksRequest request)
        {
            var bookRequest = JsonConvert.SerializeObject(request);
            var content     = new StringContent(bookRequest, Encoding.UTF8, "application/json");
            var requestUrl  = "https://localhost:44382/api/Books/Create";
            var result      = await _httpProvider.PostAsync(requestUrl, content);

            return(result);
        }
        public async Task <ActionResult> Create(CreateBooksRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var response = await _bookRepo.CreateAsync(request);

            if (response.IsSuccessStatusCode)
            {
                return(View("SuccessfullyCreatedBook"));
            }

            return(RedirectToAction("Index"));
        }
Exemple #4
0
 public async Task <CreateBooksResult> CreateBooks(CreateBooksRequest request)
 {
     try
     {
         DynamicParameters parameters = new DynamicParameters();
         parameters.Add("@BookName", request.BookName);
         parameters.Add("@Author", request.Author);
         parameters.Add("@ShortContents", request.ShortContents);
         parameters.Add("@YearReleased", request.YearReleased);
         parameters.Add("@Amount", request.Amount);
         parameters.Add("@CategoryID", request.CategoryID);
         return(await SqlMapper.QueryFirstOrDefaultAsync <CreateBooksResult>(cnn : connect,
                                                                             sql : "sp_CreateBooks",
                                                                             param : parameters,
                                                                             commandType : CommandType.StoredProcedure));
     }
     catch (Exception ex)
     {
         throw;
     }
 }
        public async Task HTTPClient_CreateBook_ShouldReturnOkAndReturnPOSTMethodToCorrecHTTP()
        {
            //Arrange
            var createdBook = new CreateBooksRequest()
            {
                Id             = 1,
                Title          = "pippi",
                Descriptions   = "Långstrump",
                PageCount      = 220,
                Published      = DateTime.Parse("2020-02-20"),
                AuthorName     = "Jörgen",
                AuthorLastName = "Brink",
                Category       = "Baby"
            };
            var json         = JsonConvert.SerializeObject(createdBook);
            var url          = "https://localhost:44382/api/Books/Create";
            var content      = new StringContent(json, Encoding.UTF8, "application/json");
            var httpResponse = new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
            };

            var mockHttpClientProvider = new Mock <IHttpClientProvider>();

            mockHttpClientProvider.Setup(t => t.PostAsync(url, content))
            .ReturnsAsync(httpResponse).Verifiable();

            var response = new BookRepository(mockHttpClientProvider.Object);

            // ACT
            var result = await response.CreateAsync(createdBook);

            //Assert
            var expectedUri = new Uri("https://localhost:44382/api/Books/Create");

            result.Should().NotBeNull();
            mockHttpClientProvider.Verify(x => x.PostAsync(expectedUri.ToString(), result.Content), Times.Once());
            ItExpr.Is <HttpRequestMessage>(req => req.Method == HttpMethod.Post &&
                                           req.RequestUri == expectedUri);
        }
Exemple #6
0
 public async Task <OkObjectResult> Create(CreateBooksRequest request)
 {
     return(Ok(await bookService.CreateBooks(request)));
 }
        public ActionResult Create()
        {
            var model = new CreateBooksRequest();

            return(View(model));
        }
 public async Task <CreateBooksResult> CreateBooks(CreateBooksRequest request)
 {
     return(await bookRepository.CreateBooks(request));
 }