public ActionResult Postulante(string id)
        {
            if (id != null)
            {
            VistaOfertaPostulante vistaofertapostulante = lnAlumnocv.ObtenerPostulanteCV(Convert.ToInt32(Helper.Desencriptar(id)));

            //Se cargan las fases de la oferta.
            LNOferta lnOferta = new LNOferta();
            List<OfertaFase> listaFasesActivas = lnOferta.Obtener_OfertaFaseActivas(vistaofertapostulante.alumnocv.IdOferta);
            ViewBag.IdOfertaFase = new SelectList(listaFasesActivas, "IdListaValor", "FaseOferta", vistaofertapostulante.alumnocv.FaseOferta);

            ViewBag.IdOfertaPostulante = Convert.ToInt32(Helper.Desencriptar(id));

            return View(vistaofertapostulante);
            }
            else
            {
                return RedirectToAction("Index", "Empresa");
            }
        }
        public ActionResult VistaOfertaPostulantes(int id, string estado, string columna, string orden, string pantalla = "")
        {
            LNOferta lnOferta = new LNOferta ();

            List<OfertaPostulante> postulantes = new List<OfertaPostulante>();
            if (columna == "Fecha")
            {
                if (orden == "ASC")
                {
                    postulantes = lnOferta.ObtenerPostulantesPorIdOferta(id).OrderBy(m => m.FechaPostulacion).ToList();
                }
                else
                {
                    postulantes = lnOferta.ObtenerPostulantesPorIdOferta(id).OrderByDescending(m => m.FechaPostulacion).ToList();
                }
            }
            if (columna == "Nombre")
            {
                if (orden == "ASC")
                {
                    postulantes = lnOferta.ObtenerPostulantesPorIdOferta(id).OrderBy(m => m.Alumno.Apellidos).ToList();
                }
                else
                {
                    postulantes = lnOferta.ObtenerPostulantesPorIdOferta(id).OrderByDescending(m => m.Alumno.Apellidos).ToList();
                }
            }
            if (columna == "Fase")
            {
                if (orden == "ASC")
                {
                    postulantes = lnOferta.ObtenerPostulantesPorIdOferta(id).OrderBy(m => m.FaseOferta.Peso).ToList();
                }
                else
                {
                    postulantes = lnOferta.ObtenerPostulantesPorIdOferta(id).OrderByDescending(m => m.FaseOferta.Peso).ToList();
                }
            }
            if (columna == "Cumplimiento")
            {
                if (orden == "ASC")
                {
                    postulantes = lnOferta.ObtenerPostulantesPorIdOferta(id).OrderBy(m => m.NivelDeMatch).ToList();
                }
                else
                {
                    postulantes = lnOferta.ObtenerPostulantesPorIdOferta(id).OrderByDescending(m => m.NivelDeMatch).ToList();
                }
            }

               if (postulantes.Count == 0)
            {
                postulantes = lnOferta.ObtenerPostulantesPorIdOferta(id).OrderBy(m => m.FechaPostulacion).ToList();
            }

            //Llenar el combo de Fases:
            List<OfertaFase> listaFasesActivas = lnOferta.Obtener_OfertaFaseActivas(id);

            ViewBag.IdOfertaFase = new SelectList(listaFasesActivas, "IdListaValor", "FaseOferta");
            ViewBag.EstadoOfertaIdListaValor = estado;

            //Se envían datos para mostrar el orden de la grilla. Se valida si es NULL para la primera vez que cargue el bloque.
            ViewBag.Columna = columna == null ? "Fecha" : columna;
            ViewBag.Orden = orden == null ? "ASC" : orden;
            ViewBag.Pantalla = pantalla;

            return PartialView("_VistaOfertaPostulantes", postulantes);
        }