Ejemplo n.º 1
0
        public IActionResult Cadastrados([FromBody] ProdutosCadastradosViewModel viewModel)
        {
            IQueryable <Produto> produtosQuery = dbContext
                                                 .Produto
                                                 .Include(p => p.Categoria)
                                                 .OndeDescricaoContem(viewModel.Descricao)
                                                 .ComIdCategoria(viewModel.IdCategoria)
                                                 .OrderBy(c => c.IdProduto);

            ICollection <Produto> produtos = produtosQuery
                                             .Skip((viewModel.Paginacao.Inicio - 1) * viewModel.Paginacao.Limite)
                                             .Take(viewModel.Paginacao.Limite)
                                             .ToList();

            viewModel.Paginacao.TotalRegistros = produtosQuery.ToList().Count;

            List <dynamic> produtosJson = new List <dynamic>();

            foreach (Produto produto in produtos)
            {
                dynamic memory = null;

                if (!String.IsNullOrEmpty(produto.DiretorioImagem))
                {
                    var path = produto.DiretorioImagem;

                    memory = new MemoryStream();
                    using (var stream = new FileStream(path, FileMode.Open))
                    {
                        stream.CopyTo(memory);
                    }
                    memory.Position = 0;
                }

                produtosJson.Add(new
                {
                    idProduto   = produto.IdProduto,
                    idCategoria = produto.IdCategoria,
                    categoria   = produto.Categoria.Descricao,
                    preco       = produto.Preco,
                    descricao   = produto.Descricao,
                    arquivo     = memory != null ? memory.GetBuffer() : null
                });
            }

            return(Json(new
            {
                produtos = produtosJson,
                paginacao = viewModel.Paginacao
            }));
        }
Ejemplo n.º 2
0
        public ActionResult Cadastradas(ProdutosCadastradosViewModel viewModel)
        {
            using (DbApplication db = new DbApplication())
            {
                IQueryable <Infracao> infracoesQuery = db
                                                       .Infracoes
                                                       .OndeDescricaoContem(viewModel.Descricao)
                                                       .Include(i => i.Agente)
                                                       .Include(i => i.Logradouro)
                                                       .Include(i => i.Veiculo)
                                                       .OrderBy(i => i.Descricao);
                ICollection <Infracao> infracoes = infracoesQuery
                                                   .Skip(viewModel.Paginacao.Inicio)
                                                   .Take(viewModel.Paginacao.Limite)
                                                   .ToList();

                viewModel.Paginacao.TotalRegistros = infracoesQuery.Count();

                List <dynamic> infracoesJson = new List <dynamic>();

                foreach (Infracao infracao in infracoes)
                {
                    infracoesJson.Add(new
                    {
                        nomeAgente      = infracao.Agente.NomeAgente,
                        matriculaAgente = infracao.Agente.Matricula,
                        cepLogradouro   = infracao.Logradouro.Cep,
                        idInfracao      = infracao.IdInfracao,
                        velocidade      = infracao.Velocidade,
                        descricao       = infracao.Descricao,
                        placaVeiculo    = infracao.Veiculo.Placa
                    });
                }

                return(Json(new
                {
                    infracoes = infracoesJson,
                    paginacao = viewModel.Paginacao.Json()
                }));
            }
        }
Ejemplo n.º 3
0
        public ActionResult Cadastrados(ProdutosCadastradosViewModel viewModel)
        {
            using (DbApplication db = new DbApplication())
            {
                IQueryable <Produto> produtosQuery = db.Produtos
                                                     .OndeNomeContem(viewModel.Nome)
                                                     //.Ativo()
                                                     .OrderBy(n => n.Nome);

                ICollection <Produto> produtos = produtosQuery
                                                 .Skip(viewModel.Paginacao.Inicio)
                                                 .Take(viewModel.Paginacao.Limite)
                                                 .ToList();

                viewModel.Paginacao.TotalRegistros = produtosQuery.Count();

                List <dynamic> produtosJson = new List <dynamic>();

                foreach (Produto produto in produtos)
                {
                    produtosJson.Add(new
                    {
                        idProduto   = produto.IdProduto,
                        idCategoria = produto.IdCategoria,
                        nome        = produto.Nome,
                        preco       = produto.Preco
                    });
                }

                return(Json(new
                {
                    produtos = produtosJson,
                    paginacao = viewModel.Paginacao.Json()
                }));
            }
        }