public ActionResult Index()
        {
            PostClient        postClient        = new PostClient();
            UserPosterClient  userPoster        = new UserPosterClient();
            CategoriaClient   categoriaClient   = new CategoriaClient();
            CiudadClient      ciudadClient      = new CiudadClient();
            PaisClient        paisClient        = new PaisClient();
            TipoTrabajoClient tipoTrabajoClient = new TipoTrabajoClient();
            var elementos = postClient.GetAll();
            var i         = new List <Post>();

            if (elementos != null)
            {
                foreach (var e in elementos)
                {
                    e.Posters      = userPoster.FindPost(e.Poster);
                    e.Categorias   = categoriaClient.FindCategory(e.NombreCategoria);
                    e.Ciudades     = ciudadClient.FindCiudad(e.NombreCiudad);
                    e.Paises       = paisClient.FindPais(e.NombrePais);
                    e.TipoTrabajos = tipoTrabajoClient.FindTipoTrabajo(e.NombreTipoTrabajo);
                    i.Add(e);
                }
                var v = (from a in i

                         select a);


                ViewBag.ListCategories = categoriaClient.GetAll().OrderBy(p => p.Nombre);
                v = v.OrderBy(p => p.Categorias);
                return(View(v));
            }

            return(View());
        }
        public ActionResult Busqueda(string buscar, string sortOrder, string sortBy, int pageNumber = 1)
        {
            PostClient        postClient        = new PostClient();
            CategoriaClient   categoriaClient   = new CategoriaClient();
            UserPosterClient  userPoster        = new UserPosterClient();
            CiudadClient      ciudad            = new CiudadClient();
            PaisClient        pais              = new PaisClient();
            TipoTrabajoClient tipoTrabajoClient = new TipoTrabajoClient();
            var elementos = postClient.GetAll();
            var e         = new List <Post>();
            var j         = new Post();
            var lista     = e;

            if (elementos != null)
            {
                foreach (var i in elementos)
                {
                    i.Posters      = userPoster.FindPost(i.Poster);
                    i.Categorias   = categoriaClient.FindCategory(i.NombreCategoria);
                    i.Ciudades     = ciudad.FindCiudad(i.NombreCiudad);
                    i.Paises       = pais.FindPais(i.NombrePais);
                    i.TipoTrabajos = tipoTrabajoClient.FindTipoTrabajo(i.NombreTipoTrabajo);
                    e.Add(i);
                }



                if (buscar != null)
                {
                    buscar = buscar.ToUpper();
                    var v = (from a in e
                             where a.Categorias.ToUpper().Contains(buscar) ||
                             a.Posters.ToUpper().Contains(buscar) ||
                             a.NombrePosicion.ToUpper().Contains(buscar) ||
                             a.Paises.ToUpper().Contains(buscar) ||
                             a.Ciudades.ToUpper().Contains(buscar)
                             select a);
                    lista = v.ToList();
                    lista = ApplySorting(sortOrder, sortBy, lista);
                    lista = ApplyPagination(pageNumber, lista);
                }
                else
                {
                    lista = ApplySorting(sortOrder, sortBy, lista);
                    lista = ApplyPagination(pageNumber, lista);
                }
            }


            ViewBag.Buscar = buscar;

            return(View(lista));
        }