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 })); }
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() })); } }
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() })); } }