public async Task <PagedList <Usuario> > BuscarPorFiltroComPaginacao(UsuarioParams parametros) { try { var prodPaged = _context.Usuarios.AsQueryable(); if (parametros.Filter != null) { prodPaged = prodPaged.Where(x => x.Nome.ToLower().Contains(parametros.Filter.ToLower()) || x.Email.ToLower().Contains(parametros.Filter.ToLower()) || x.Role.ToLower().Contains(parametros.Filter.ToLower())); } if (parametros.SortOrder.ToLower().Equals("asc")) { prodPaged = prodPaged.OrderBy(prod => prod.Nome); } if (parametros.SortOrder.ToLower().Equals("desc")) { prodPaged = prodPaged.OrderByDescending(prod => prod.Nome); } var result = await prodPaged.ToListAsync(); return(PagedList <Usuario> .ToPagedList(result, parametros.NumeroDaPaginaAtual, parametros.TamanhoDaPagina)); } catch (MySqlException ex) { _context.Dispose(); throw new Exception(ex.Message); } }
public async Task <PagedList <Fornecedor> > BuscarPorFiltroComPaginacao(FornecedorParams parametros) { try { var paginaDeFoenecedores = _context.Fornecedores.AsQueryable(); if (parametros.Filter != null) { paginaDeFoenecedores = paginaDeFoenecedores.Where(x => x.Nome.ToLower().Contains(parametros.Filter.ToLower()) || x.CNPJ.ToString().ToLower().Contains(parametros.Filter.ToLower()) || x.Telefone.ToLower().Contains(parametros.Filter.ToLower())); } if (parametros.SortOrder.ToLower().Equals("asc")) { paginaDeFoenecedores = paginaDeFoenecedores.OrderBy(prod => prod.Nome); } if (parametros.SortOrder.ToLower().Equals("desc")) { paginaDeFoenecedores = paginaDeFoenecedores.OrderByDescending(prod => prod.Nome); } var result = await paginaDeFoenecedores.ToListAsync(); return(PagedList <Fornecedor> .ToPagedList(result, parametros.NumeroDaPaginaAtual, parametros.TamanhoDaPagina)); } catch (MySqlException ex) { _context.Dispose(); throw new Exception(ex.Message); } }
public async Task <int> Excluir(Guid clienteId) { try { var cliente = _context.Clientes.Find(clienteId); _context.Remove(cliente); return(await SalvarCommit()); } catch (MySqlException e) { _context.Dispose(); throw e; } }
public async Task <PagedList <PedidoVenda> > BuscarPorFiltroComPaginacao(PedidoVendaParams parametros) { try { var pedidos = _context.Pedidos .Include(p => p.Cliente) .Include(p => p.ItemPedidos) .ThenInclude(i => i.Produto).AsQueryable(); if (parametros.Filter != null) { pedidos = pedidos.Where(x => x.Cliente.Nome.ToLower().Contains(parametros.Filter.ToLower()) || x.ValorTotal.ToString().ToLower().Contains(parametros.Filter.ToLower()) || x.DataVenda.ToString().ToLower().Contains(parametros.Filter.ToLower()) ); } if (parametros.SortOrder.ToLower().Equals("asc")) { if (parametros.OrdenarPor.ToLower().Equals("cliente")) { pedidos = pedidos.OrderBy(pedido => pedido.Cliente.Nome); } if (parametros.OrdenarPor.ToLower().Equals("dataVenda")) { pedidos = pedidos.OrderBy(pedido => pedido.DataVenda); } if (parametros.OrdenarPor.ToLower().Equals("valorTotal")) { pedidos = pedidos.OrderBy(pedido => pedido.ValorTotal); } } if (parametros.SortOrder.ToLower().Equals("desc")) { if (parametros.OrdenarPor.Equals("cliente")) { pedidos = pedidos.OrderByDescending(pedido => pedido.Cliente.Nome); } if (parametros.OrdenarPor.Equals("dataVenda")) { pedidos = pedidos.OrderByDescending(pedido => pedido.DataVenda); } if (parametros.OrdenarPor.Equals("valorTotal")) { pedidos = pedidos.OrderByDescending(pedido => pedido.ValorTotal); } } var result = await pedidos.Select( p => new PedidoVenda { Id = p.Id, DataVenda = p.DataVenda, ValorTotal = p.ValorTotal, Cliente = new Cliente { Id = p.Cliente.Id, Nome = p.Cliente.Nome, CPF = p.Cliente.CPF, Endereco = p.Cliente.Endereco, Telefone = p.Cliente.Telefone, Pedidos = new List <PedidoVenda>() }, ItemPedidos = p.ItemPedidos.Select(ip => new ItemPedidoVenda { Id = ip.Id, IdPedido = ip.IdPedido, IdProduto = ip.IdProduto, Preco = ip.Preco, Quantidade = ip.Quantidade, SubTotal = ip.SubTotal, Produto = new Produto { Id = ip.Produto.Id, Nome = ip.Produto.Nome, Descricao = ip.Produto.Descricao, Valor = ip.Produto.Valor } }).ToList() }).ToListAsync(); return(PagedList <PedidoVenda> .ToPagedList(result, parametros.NumeroDaPaginaAtual, parametros.TamanhoDaPagina)); } catch (MySqlException ex) { _context.Dispose(); throw new Exception(ex.Message); } }
public async Task <PagedList <OrdemCompra> > BuscarPorFiltroComPaginacao(OrdemCompraParams parametros) { try { var ordens = _context.OrdemCompras .Include(ordem => ordem.Fornecedor) .Include(ordem => ordem.ItemsOrdemCompra) .ThenInclude(i => i.Produto).AsQueryable(); if (parametros.Filter != null) { ordens = ordens.Where(x => x.Fornecedor.Nome.ToLower().Contains(parametros.Filter.ToLower()) || x.ValorTotal.ToString().ToLower().Contains(parametros.Filter.ToLower()) || x.DataEntrada.ToString().ToLower().Contains(parametros.Filter.ToLower()) ); } if (parametros.SortOrder.ToLower().Equals("asc")) { if (parametros.OrdenarPor.ToLower().Equals("fornecedor")) { ordens = ordens.OrderBy(ordem => ordem.Fornecedor.Nome); } if (parametros.OrdenarPor.ToLower().Equals("dataEntrada")) { ordens = ordens.OrderBy(ordem => ordem.DataEntrada); } if (parametros.OrdenarPor.ToLower().Equals("valorTotal")) { ordens = ordens.OrderBy(ordem => ordem.ValorTotal); } } if (parametros.SortOrder.ToLower().Equals("desc")) { if (parametros.OrdenarPor.Equals("fornecedor")) { ordens = ordens.OrderByDescending(ordem => ordem.Fornecedor.Nome); } if (parametros.OrdenarPor.Equals("dataEntrada")) { ordens = ordens.OrderByDescending(ordem => ordem.DataEntrada); } if (parametros.OrdenarPor.Equals("valorTotal")) { ordens = ordens.OrderByDescending(ordem => ordem.ValorTotal); } } var result = await ordens.Select( ordem => new OrdemCompra { Id = ordem.Id, DataEntrada = ordem.DataEntrada, ValorTotal = ordem.ValorTotal, Fornecedor = new Fornecedor { Id = ordem.Fornecedor.Id, Nome = ordem.Fornecedor.Nome, CNPJ = ordem.Fornecedor.CNPJ, Telefone = ordem.Fornecedor.Telefone, OrdemCompras = new List <OrdemCompra>() }, ItemsOrdemCompra = ordem.ItemsOrdemCompra.Select(ip => new ItemOrdemCompra { Id = ip.Id, IdOrdemCompra = ip.IdOrdemCompra, IdProduto = ip.IdProduto, Preco = ip.Preco, Quantidade = ip.Quantidade, SubTotal = ip.SubTotal, Produto = new Produto { Id = ip.Produto.Id, Nome = ip.Produto.Nome, Descricao = ip.Produto.Descricao, Valor = ip.Produto.Valor } }).ToList() }).ToListAsync(); return(PagedList <OrdemCompra> .ToPagedList(result, parametros.NumeroDaPaginaAtual, parametros.TamanhoDaPagina)); } catch (MySqlException ex) { _context.Dispose(); throw new Exception(ex.Message); } }