private IQueryOver<Fornecedor, Fornecedor> AplicarFiltros(FornecedorFiltroVm filtro, bool aplicarFiltroDeAreaDeVenda) { var unitOfWorkNh = ObjectFactory.GetInstance<IUnitOfWorkNh>(); Fornecedor fornecedor = null; IQueryOver<Fornecedor, Fornecedor> queryOver = unitOfWorkNh.Session.QueryOver(() => fornecedor) .Where(f => f.Eliminacao == null || f.Eliminacao != "X"); if (!string.IsNullOrEmpty(filtro.Codigo)) { queryOver = queryOver.And(f => f.Codigo.IsInsensitiveLike(filtro.Codigo, MatchMode.Anywhere)); } if (!string.IsNullOrEmpty(filtro.Nome)) { queryOver = queryOver.And(f => f.Nome.IsInsensitiveLike(filtro.Nome, MatchMode.Anywhere)); } if (!string.IsNullOrEmpty(filtro.Cnpj)) { queryOver = queryOver.And(f => f.Cnpj == filtro.Cnpj); } if (!string.IsNullOrEmpty(filtro.Cpf)) { queryOver = queryOver.And(f => f.Cpf == filtro.Cpf); } if (aplicarFiltroDeAreaDeVenda && filtro.IdDaAreaDeVenda.HasValue) { AplicarFiltroDeAreaDeVenda(queryOver, filtro.IdDaAreaDeVenda.Value); } return queryOver; }
public KendoGridVm Listar(PaginacaoVm paginacaoVm, FornecedorFiltroVm filtro) { IQueryOver<Fornecedor, Fornecedor> queryOver = AplicarFiltros(filtro, true); var kendoGridVm = new KendoGridVm { QuantidadeDeRegistros = queryOver.RowCount(), Registros = _builderFornecedor.BuildList(queryOver.Skip(paginacaoVm.Skip).Take(paginacaoVm.Take).List()) .Cast<ListagemVm>() .ToList() }; return kendoGridVm; }
public JsonResult ListarFornecedor(PaginacaoVm paginacaoVm, FornecedorFiltroVm filtro) { KendoGridVm kendoGridVm = _consultaFornecedor.Listar(paginacaoVm, filtro); return Json(kendoGridVm, JsonRequestBehavior.AllowGet); }