// [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); } }