// GET: Livros/Create public async Task <ActionResult> Create(int AutorId = 0) { var model = new LivroDetails { AutorId = AutorId }; var response = await _client.GetAutoresAsync(); if (response.IsSuccessStatusCode) { var Autores = await response.Content.ReadAsAsync <IEnumerable <AutorViewModel> >(); foreach (var autor in Autores) { model.AutoresDisponiveis.Add(new SelectListItem { Value = autor.id.ToString(), Text = autor.Nome, Selected = autor.id == model.AutorId }); } } return(View(model)); }
private LivroDetails ToLivroDetails(Livros livro) { //Mapeando aobjeto var LivroDetails = new LivroDetails { Id = livro.Id, titulo = livro.titulo, isbn = livro.isbn, ano = livro.ano, }; List <Autor_LivroViewModel> AutoresDoLivro = new List <Autor_LivroViewModel>(); //Lista de Objetos com pares de: Id_livro <-> Id_Autor foreach (var par in livro.Autor_Livro) //Cada Par Livro-Autor tem um ID { //Pega no DB Obj_Livros desse Autor var autor = db.Autores.Single(x => x.Id == par.Id_Autor); //Add Livro na lista if (autor != null) { AutoresDoLivro.Add(new Autor_LivroViewModel { Nome = autor.Nome, Sobrenome = autor.Sobrenome, Email = autor.Email }); } } ; LivroDetails.AutoresDoLivro = AutoresDoLivro; return(LivroDetails); }
public async Task <ActionResult> Edit(int id, LivroDetails model) { try { var response = await _client.PutLivroAsync(model); return(RedirectToAction("Index")); } catch { return(RedirectToAction("Index", "Home")); } }
public async Task <ActionResult> Delete(int id, LivroDetails model) { try { var response = await _client.DeleteLivroAsync(model.id); if (response.IsSuccessStatusCode) { return(RedirectToAction("Index")); } return(RedirectToAction("Index", "Home")); } catch { return(View("Error")); } }
public async Task <ActionResult> Create(LivroDetails model) { try { //criar livro var response = await _client.PostLivroAsync(model); //var a = await response.Content.ReadAsAsync<List<int>>(); //var create = new Autor_Livro //{ // IdAutor = model.AutorId, // IdLivro = a[0] //}; ////criar vinculo livro autor //await _client.PostAutor_LivroAsync(create); return(RedirectToAction("Index")); } catch { return(View("Error")); } }
public async Task <HttpResponseMessage> PostLivroAsync(LivroDetails model) { return(await _client.PostAsJsonAsync("api/Livros", model)); }
public async Task <HttpResponseMessage> PutLivroAsync(LivroDetails model) { return(await _client.PutAsJsonAsync($"api/Livros/{model.id}", model)); }