public ActionResult SimpleSearchEmpresas(SimpleListViewModel parameters) { var transfer = new ClientTransfer(); var anyoQueriable = _pedidosService.BuscarEmpresas(); anyoQueriable = anyoQueriable.Where(a => a.Activa); var empresas = Session["Empresas"].ToString(); var listEmpresas = empresas.Contains(",") ? empresas.Split(',').Select(a => int.Parse(a)).ToList() : new List <int>() { int.Parse(empresas) }; anyoQueriable = anyoQueriable.Where(a => listEmpresas.Contains(a.Id)); //if (!string.IsNullOrEmpty(parameters.Descripcion)) // anyoQueriable = anyoQueriable.Where(a => a.Nombre.Contains(parameters.Descripcion)); var selectQuery = anyoQueriable.Select(a => new { a.Id, Descripcion = a.Nombre.Trim() }).OrderBy(o => o.Descripcion); var listado = selectQuery .Skip((parameters.PageIndex - 1) * parameters.ItemsPerPage) .Take(parameters.ItemsPerPage) .ToList(); var totalElements = selectQuery.Count(); var totalpages = totalElements / parameters.ItemsPerPage; transfer.Data = listado; transfer.Pagination.TotalPages = totalpages + ((totalElements % parameters.ItemsPerPage) > 0 ? 1 : 0); transfer.Pagination.TotalRecords = totalElements; //Total de elementos segun filtro transfer.Pagination.TotalDisplayRecords = listado.Count; //Total de elementos segun pagina return(Json(transfer)); }