Пример #1
0
        // [Route("SelectCourse")]
        public async Task <IActionResult> SelectCourse(int bookId)
        {
            try
            {
                var userId = GetUserId();

                var allBooks = await _resourses.GetBooks();

                ViewBag.BookList = allBooks;

                if (!ModelState.IsValid)
                {
                    return(View());
                }


                using (var httpClient = new HttpClient())
                {
                    httpClient.BaseAddress = new Uri(_apiRequestUri.BaseUri);
                    httpClient.DefaultRequestHeaders.Accept.Clear();
                    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    var newBook = new AddUserBookVM()
                    {
                        BookId            = bookId,
                        ApplicationUserId = userId
                    };
                    var uri = string.Format(_apiRequestUri.AddUserBooks, userId, bookId);

                    // StringContent content = new StringContent(JsonConvert.SerializeObject(newBook));

                    //HttpResponseMessage response = await httpClient.PostAsync(uri, content);
                    HttpResponseMessage response = (HttpResponseMessage)null;

                    response = await httpClient.PostAsJsonAsync(uri, newBook);

                    if (response.IsSuccessStatusCode)
                    {
                        return(RedirectToAction("GetBooksForUser", "UserBooksWeb", userId));
                        //return RedirectToAction("GetStudentById", new { id = student.ID });
                    }
                    if (response.StatusCode == System.Net.HttpStatusCode.BadRequest)
                    {
                        ModelState.AddModelError("", await response.Content.ReadAsStringAsync());
                    }
                }

                return(View());
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public async Task <ActionResult <object> > AddUserBooks(AddUserBookVM bookVM)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newBook = new UserBooks()
                    {
                        ApplicationUserId = bookVM.ApplicationUserId,
                        BookId            = bookVM.BookId
                    };
                    var result = await _userBooks.AddUserBook(newBook);

                    return(result);
                }
                return(null);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }