public ListaLeitura FindBy(string userId, TiposDeListaLeitura tipo) { var lista = Contexto.ListasDeLeitura .Include(l => l.Livros) .FirstOrDefault(l => (l.UsuarioId == userId) && (l.Tipo == tipo)); return(lista); }
public IActionResult Novo(TiposDeListaLeitura tipo) { var model = new LivroNovoViewMovel { Tipo = tipo }; return(View(model)); }
public void MoverLivro(string userId, Livro livro, TiposDeListaLeitura origem, TiposDeListaLeitura destino) { var listaOrigem = this.FindBy(userId, origem); var listaDestino = this.FindBy(userId, destino); listaOrigem.Livros.Remove(livro); listaDestino.Livros.Add(livro); this.Alterar(listaOrigem, listaDestino); }
private ListaLeitura ListaDoUsuarioPorTipo(TiposDeListaLeitura tipo) { var userId = _userManager.GetUserId(this.User); var lista = _listaManager.All .Include(l => l.Livros) .Where(l => (l.Tipo == tipo) && (l.UsuarioId == userId)) .First(); return(lista); }
private ICollection <Livro> ListaDoUsuario(string userId, TiposDeListaLeitura tipo) { var lista = Contexto.ListasDeLeitura .Include(ll => ll.Livros) .Where(ll => (ll.UsuarioId == userId) && (ll.Tipo == tipo)) .FirstOrDefault(); return((lista != null) ? lista.Livros : new List <Livro>()); }
public IActionResult Get(string tipo) { TiposDeListaLeitura tp = TiposDeListaLeitura.ParaLer; try { tp = Enum.Parse <TiposDeListaLeitura>(tipo, true); } catch (ArgumentException) { return(NotFound()); } var lista = ListaDoUsuarioPorTipo(tp); return(Ok(lista)); //retornar um POCO faz com que o ASP.NET Core MVC embrulhe o objeto em um ObjectResult //mas e se quisermos retornar outros resultados (por exemplo, not found, internal server error?) //daí mudamos o retorno para IActionResult e usamos os métodos auxiliares Ok(), NotFound(), Json(), etc. }
public ListaLeitura IncluirLivro(string userId, Livro livro, TiposDeListaLeitura tipo) { var lista = FindBy(userId, tipo); if (lista != null) { lista.Livros.Add(livro); this.Alterar(lista); } else { lista = new ListaLeitura { UsuarioId = userId, Tipo = tipo, Livros = new List <Livro> { livro } }; this.Incluir(lista); } return(lista); }