コード例 #1
0
        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);
        }
コード例 #2
0
        public IActionResult Novo(TiposDeListaLeitura tipo)
        {
            var model = new LivroNovoViewMovel
            {
                Tipo = tipo
            };

            return(View(model));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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>());
        }
コード例 #6
0
        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.
        }
コード例 #7
0
        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);
        }