public ActionResult BusquedaAlumnos(VistaAlumno entidad)
        {
            List<AlumnoUTP> lista = lnUtp.UTP_ObtenerUltimosAlumnos(
                entidad.PalabraClave == null ? "" : entidad.PalabraClave,
                entidad.nroPaginaActual,
                Constantes.FILAS_POR_PAGINA_UTP
            );

            Session["DataTableToExport"] = lnUtp.AlumnosBusquedaExcel(entidad.PalabraClave == null ? "" : entidad.PalabraClave);

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            //Esto van en todas las paginas
            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = entidad.nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";
            return PartialView("_ListaUTPAlumnos", lista);
        }
        public PartialViewResult _NuevoValorEditar(ListaValor objlista)
        {
            if (ModelState.IsValid)
            {
                //Esto es para guardar el usuario de creacion
                TicketUTP ticket = (TicketUTP)Session["TicketUtp"];

                objlista.Modificadopor = ticket.Usuario;

                // logica que guarda los datos

                lnUtp.UTPACTUALIZAR_LISTAVALORHIJO(objlista);

                ////recorro los datos para mostrar en el partial

                List<ListaValor> lista = new List<ListaValor>();

                DataTable dtResultado = lnUtp.UTP_LISTAVALORHIJO(Convert.ToInt32(objlista.IdLista), objlista.idcod, 10);

                for (int i = 0; i <= dtResultado.Rows.Count - 1; i++)
                {
                    ListaValor objListaValor = new ListaValor();
                    objListaValor.IdLista = Convert.ToInt32(dtResultado.Rows[i]["IdLista"].ToString());
                    objListaValor.IdListaValor = dtResultado.Rows[i]["IdListaValor"].ToString();
                    objListaValor.Valor = dtResultado.Rows[i]["Valor"].ToString();
                    objListaValor.DescripcionValor = dtResultado.Rows[i]["DescripcionValor"].ToString();
                    objListaValor.Icono = dtResultado.Rows[i]["Icono"].ToString();
                    objListaValor.Peso = Convert.ToInt32(dtResultado.Rows[i]["Peso"] == DBNull.Value ? 0 : dtResultado.Rows[i]["Peso"]);
                    objListaValor.ValorUTP = dtResultado.Rows[i]["ValorUTP"].ToString();
                    objListaValor.Padre = dtResultado.Rows[i]["Padre"].ToString();
                    objListaValor.EstadoValor = dtResultado.Rows[i]["EstadoValor"].ToString();
                    objListaValor.CantidadTotal = Convert.ToInt32(dtResultado.Rows[i]["CantidadTotal"]);
                    lista.Add(objListaValor);

                }

                //Datos para la paginación.
                int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

                Paginacion paginacion = new Paginacion();
                paginacion.NroPaginaActual = objlista.idcod;
                paginacion.CantidadTotalResultados = cantidadTotal;
                paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
                paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
                int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
                if (residuo > 0) paginacion.TotalPaginas += 1;

                ViewBag.Paginacion = paginacion;
                ViewBag.TipoBusqueda = "Simple";

                return PartialView("Vista_ListaValorHijo", lista);
            }

            return PartialView("_NuevoValorEditar", objlista);
        }
        public ActionResult _UsuariosEmpresaLista(int nroPaginaActual, string nombre)
        {
            LNEmpresaUsuario lnEmpresaUsuario = new LNEmpresaUsuario();
            List<EmpresaUsuario> lista = lnEmpresaUsuario.ObtenerUsuariosParaUTP(nroPaginaActual, Constantes.FILAS_POR_PAGINA_UTP, nombre);

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            return PartialView("_UsuariosEmpresaLista", lista);
            //return PartialView("_UsuariosUTPLista");
        }
        public ActionResult BusquedaSimpleEmpresasActivas(VistaEmpresListarOfertas entidad)
        {
            List<EmpresaListaEmpresa> lista = lnUtp.Empresa_ObtenerPorNombre(
                entidad.PalabraClave == null ? "" : entidad.PalabraClave,
                entidad.nroPaginaActual, Constantes.FILAS_POR_PAGINA_UTP
            );

            Session["DataTableToExport"] = lnUtp.EmpresaBusquedaExcel(entidad.PalabraClave == null ? "" : entidad.PalabraClave);

            //Datos para la paginación.
            //Una ves traido la info de la bd, se llenan estos campos del objeto Paginacion
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            //Esto van en todas las paginas
            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = entidad.nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;

            ViewBag.TipoBusqueda = "Simple";
            TicketUTP ticketUtp = (TicketUTP)Session["TicketUtp"];
            ViewBag.Rol = ticketUtp.Rol;
            return PartialView("_ResultadoBusquedaEmpresas", lista);
        }
        public ActionResult BusquedaSimpleOferta(VistaOfertaAlumno entidad)
        {
            entidad.ListaOfertas = lnoferta.BuscarFiltroOfertasAlumno(entidad.IdAlumno, entidad.PalabraClave == null ? "" : entidad.PalabraClave, entidad.PaginaActual, entidad.NumeroRegistros);
            if (entidad.ListaOfertas.Count > 0)
            {
                entidad.MaxPagina = entidad.ListaOfertas[0].TotalRegistros / Constantes.FILAS_POR_PAGINA;
                int residuo = entidad.MaxPagina % Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
                if (residuo > 0) entidad.MaxPagina += 1;
            }

            //Actualización para las paginaciones, se completa el objeto Paginación.

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = entidad.PaginaActual;
            //paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
            paginacion.TotalPaginas = entidad.MaxPagina; // cantidadTotal / Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
            //int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
            //if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            return PartialView("_ResultadoBusquedaOfertas", entidad);
        }
        //public PartialViewResult _UsuariosUTPLista()
        //{
        //    List<UTPUsuario> lista = lnUtp.ObtenerUsuariosUTP();
        //    return PartialView("_UsuariosUTPLista", lista);
        //    //return PartialView("_UsuariosUTPLista");
        //}
        public PartialViewResult _UsuariosUTPLista(int nroPaginaActual = 1, int filasPorPagina = Constantes.FILAS_POR_PAGINA_UTP)
        {
            List<UTPUsuario> lista = new List<UTPUsuario>();

            DataTable dtResultado = lnUtp.ObtenerUsuariosUTP(nroPaginaActual, filasPorPagina);

            foreach (DataRow fila in dtResultado.Rows)
            {
                UTPUsuario nuevo = new UTPUsuario();
                nuevo.IdUTPUsuario = Convert.ToInt32(fila["IdUTPUsuario"]);
                nuevo.NombreUsuario = Convert.ToString(fila["Usuario"]);
                nuevo.Nombres = Convert.ToString(fila["Nombres"]);
                nuevo.Apellidos = Convert.ToString(fila["Apellidos"]);
                nuevo.SexoDescripcion = Convert.ToString(fila["SexoDescripcion"]);
                nuevo.Correo = Convert.ToString(fila["CorreoElectronico"]);
                nuevo.TelefonoFijo = Convert.ToString(fila["TelefonoFijo"]);
                nuevo.TelefonoCelular = Convert.ToString(fila["TelefonoCelular"]);
                nuevo.EstadoUsuarioDescripcion = Convert.ToString(fila["EstadoUsuarioDescripcion"]);
                nuevo.CantidadTotal = Convert.ToInt32(fila["CantidadTotal"]);

                lista.Add(nuevo);
            }
            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            return PartialView("_UsuariosUTPLista", lista);
        }
        public ActionResult BusquedaAvanzadaEmpresas(VistaEmpresListarOfertas entidad)
        {
            List<EmpresaListaEmpresa> lista = lnUtp.EmpresaBusquedaAvanzada(
                entidad.NombreComercial == null ? "" : entidad.NombreComercial,
                entidad.IdEstadoEmpresa == null ? "" : entidad.IdEstadoEmpresa,
                entidad.IdSector == null ? "" : entidad.IdSector,
                entidad.RazonSocial == null ? "" : entidad.RazonSocial,
                entidad.RUC == null ? "" : entidad.RUC,
                entidad.NroOferta,
                entidad.NroPostulante,
                entidad.nroPaginaActual,
                Constantes.FILAS_POR_PAGINA_UTP
            );

            Session["DataTableToExport"] = lnUtp.EmpresaBusquedaExcel(
                entidad.NombreComercial == null ? "" : entidad.NombreComercial,
                entidad.IdEstadoEmpresa == null ? "" : entidad.IdEstadoEmpresa,
                entidad.IdSector == null ? "" : entidad.IdSector,
                entidad.RazonSocial == null ? "" : entidad.RazonSocial,
                entidad.RUC == null ? "" : entidad.RUC,
                entidad.NroOferta,
                entidad.NroPostulante
            );

            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            //Esto van en todas las paginas
            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = entidad.nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Avanzada";
            TicketUTP ticketUtp = (TicketUTP)Session["TicketUtp"];
            ViewBag.Rol = ticketUtp.Rol;
            return PartialView("_ResultadoBusquedaEmpresas", lista);
        }
        public ActionResult UTP_ObtenerofertasAvanzada(VistaOferta entidad)
        {
            Session["DataTableToExport"] = lnUtp.OfertaBusquedaExcel(
                entidad.CargoOfrecido == null ? "" : entidad.CargoOfrecido,
                entidad.NombreComercial == null ? "" : entidad.NombreComercial,
                entidad.IdTipoCargoutp == null ? "" : entidad.IdTipoCargoutp,
                entidad.IdSectorutp == null ? "" : entidad.IdSectorutp,
                entidad.IdTipoContratoutp == null ? "" : entidad.IdTipoContratoutp,
                entidad.AExperiencia,
                entidad.RemuneracionOfrecida,
                entidad.IdTipoEstudioutp == null ? "" : entidad.IdTipoEstudioutp,
                entidad.Conocimientos == null ? "" : entidad.Conocimientos,
                entidad.NumeroPostulante,
                entidad.IdEstadoOferta == null ? "" : entidad.IdEstadoOferta,
                entidad.InformacionAdicional == null ? "" : entidad.InformacionAdicional,
                entidad.Carrera == null ? "" : entidad.Carrera
            );

            List<OfertaUTP> lista = lnUtp.UTP_ObtenerofertasAvanzada(entidad.CargoOfrecido == null ? "" : entidad.CargoOfrecido,
                                                                        entidad.NombreComercial == null ? "" : entidad.NombreComercial,
                                                                        entidad.IdTipoCargoutp == null ? "" : entidad.IdTipoCargoutp,
                                                                        entidad.IdSectorutp == null ? "" : entidad.IdSectorutp,
                                                                        entidad.IdTipoContratoutp == null ? "" : entidad.IdTipoContratoutp,
                                                                        entidad.AExperiencia,
                                                                        entidad.RemuneracionOfrecida,
                                                                        entidad.IdTipoEstudioutp == null ? "" : entidad.IdTipoEstudioutp,
                                                                        entidad.Conocimientos == null ? "" : entidad.Conocimientos,
                                                                        entidad.NumeroPostulante,
                                                                        entidad.IdEstadoOferta == null ? "" : entidad.IdEstadoOferta,
                                                                        entidad.InformacionAdicional == null ? "" : entidad.InformacionAdicional,
                                                                        entidad.Carrera == null ? "" : entidad.Carrera,
                                                                        entidad.nroPaginaActual,
                                                                        Constantes.FILAS_POR_PAGINA_UTP);

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = entidad.nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Avanzada";

            TicketUTP ticketUtp = (TicketUTP)Session["TicketUtp"];
            ViewBag.Rol = ticketUtp.Rol;

            return PartialView("_ListaUTPOfertas", lista);
        }
        public ActionResult Vista_EmpresasPendientes(int nroPaginaActual)
        {
            List<VistaEmpresasPendientes> listaEmpresasPendientes = new List<VistaEmpresasPendientes>();

            DataTable dtResultado = lnUtp.EmpresaObtenerPendientes(nroPaginaActual, Constantes.FILAS_POR_PAGINA_UTP);

            foreach (DataRow fila in dtResultado.Rows)
            {
                VistaEmpresasPendientes vistaNueva = new VistaEmpresasPendientes();

                vistaNueva.FechaCreacion = Convert.ToDateTime(fila["FechaCreacion"]);
                vistaNueva.NombreComercial = Convert.ToString(fila["NombreComercial"]);

                vistaNueva.IdEmpresa = Convert.ToInt32(fila["IdEmpresa"]);
                vistaNueva.CantidadTotal = Convert.ToInt32(fila["CantidadTotal"]);

                listaEmpresasPendientes.Add(vistaNueva);
            }

            //Datos para la paginación.
            int cantidadTotal = listaEmpresasPendientes.Count() == 0 ? 0 : listaEmpresasPendientes[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            return PartialView("_EmpresasPendientes", listaEmpresasPendientes);
        }
        public ActionResult BuscarOfertas(string palabraClave, int nroPaginaActual = 1, int filasPorPagina = Constantes.FILAS_POR_PAGINA)
        {
            //Se obtiene los datos de la sesion.
            TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"];
            int idEmpresa = ticket.IdEmpresa;
            string rolIdListaValor = ticket.Rol;

            string filtro = palabraClave == null ? "" : palabraClave;

            //Al metodo normal se le añaden dos parámetros: nroPaginaActual y filasPorPagina
            List<VistaOfertaEmpresa> lista = lnOferta.Obtener_PanelEmpresa(idEmpresa, filtro, rolIdListaValor, ticket.Usuario, nroPaginaActual, filasPorPagina);

            //Datos para la paginación.
            //Una ves traido la info de la bd, se llenan estos campos del objeto Paginacion
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            //Esto van en todas las paginas
            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            //Se devuelve una vista parcial con los resultados.
            return PartialView("_ListaOfertas",lista);
        }
        /// <summary>
        /// Obtiene la lista de mensajes de acuerdo a la pantalla.
        /// </summary>
        /// <param name="pantalla"></param>
        /// <returns></returns>
        private List<Mensaje> ObtenerListaMensajes(string pantalla, int nroPaginaActual = 1)
        {
            List<Mensaje> lista = new List<Mensaje>();

            TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"];
            TicketAlumno ticketAlumno = (TicketAlumno)Session["TicketAlumno"];
            TicketUTP ticketUTP = (TicketUTP)Session["TicketUtp"];

            switch (pantalla)
            {
                case Constantes.MENSAJES_EMPRESA_INDEX:
                    lista = lnMensaje.ObtenerPorUsuario(ticketEmpresa.Usuario);
                    ViewBag.usuarioActual = ticketEmpresa.Usuario;
                    break;
                case Constantes.MENSAJES_EMPRESA_OFERTA:
                    lista = lnMensaje.ObtenerPorIdEmpresaIdOferta(ticketEmpresa.IdEmpresa, IdOferta);
                    ViewBag.usuarioActual = ticketEmpresa.Usuario;
                    break;
                case Constantes.MENSAJES_ALUMNO_INDEX:
                    lista = lnMensaje.ObtenerPorUsuario(ticketAlumno.Usuario);
                    ViewBag.usuarioActual = ticketAlumno.Usuario;
                    break;
                case Constantes.MENSAJES_ALUMNO_OFERTA:
                    lista = lnMensaje.ObtenerPorUsuario(ticketAlumno.Usuario).Where(m => m.Oferta.IdOferta == IdOferta).ToList();
                    ViewBag.usuarioActual = ticketAlumno.Usuario;
                    break;
                case Constantes.MENSAJES_UTP_INDEX:
                    lista = lnMensaje.ObtenerPorUsuario(ticketUTP.Usuario);
                    ViewBag.usuarioActual = ticketUTP.Usuario;
                    break;
                case Constantes.MENSAJES_UTP_EMPRESA:
                    //No se puede obtener mensajes solo de una empresa. La tabla Mensajes no tiene idEmpresa.
                    //19FEB: Se comenta esta línea y se obtienen todos los mensajes del usuario.
                    //lista = lnMensaje.ObtenerPorIdEmpresaIdOferta(IdEmpresaParametro, 0);
                    lista = lnMensaje.ObtenerPorUsuario(ticketUTP.Usuario);
                    ViewBag.usuarioActual = ticketUTP.Usuario;
                    break;
                case Constantes.MENSAJES_UTP_ALUMNO:
                    lista = lnMensaje.ObtenerPorUsuario(ticketUTP.Usuario).Where(m => m.DeUsuario == UsuarioAlumno || m.ParaUsuario == UsuarioAlumno).ToList();
                    ViewBag.usuarioActual = ticketUTP.Usuario;
                    break;
                case Constantes.MENSAJES_UTP_OFERTA:
                    lista = lnMensaje.ObtenerPorUsuario(ticketUTP.Usuario).Where(m => m.Oferta.IdOferta == IdOferta).ToList();
                    ViewBag.usuarioActual = ticketUTP.Usuario;
                    break;
                case Constantes.MENSAJES_EMPRESA_EVENTO:
                    lista = lnMensaje.ObtenerPorUsuario(ticketEmpresa.Usuario).Where(m => m.IdEvento == IdEventoParametro).ToList();
                    ViewBag.usuarioActual = ticketEmpresa.Usuario;
                    break;
                case Constantes.MENSAJES_ALUMNO_EVENTO:
                    lista = lnMensaje.ObtenerPorUsuario(ticketAlumno.Usuario).Where(m => m.IdEvento == IdEventoParametro).ToList();
                    ViewBag.usuarioActual = ticketAlumno.Usuario;
                    break;
                case Constantes.MENSAJES_UTP_EVENTO:
                    lista = lnMensaje.ObtenerPorUsuario(ticketUTP.Usuario).Where(m => m.IdEvento == IdEventoParametro).ToList();
                    ViewBag.usuarioActual = ticketUTP.Usuario;
                    break;
                case Constantes.MENSAJES_EMPRESA_HUNTING:
                    lista = lnMensaje.ObtenerPorUsuario(ticketEmpresa.Usuario);
                    ViewBag.usuarioActual = ticketEmpresa.Usuario;
                    break;

            }

            int cantidadTotal = lista.Count();

            //Esto van en todas las paginas
            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            return lista.OrderByDescending(m => m.FechaEnvio).Skip((nroPaginaActual - 1) * Constantes.FILAS_POR_PAGINA).Take(Constantes.FILAS_POR_PAGINA).ToList();
        }
        public ActionResult BusquedaSimpleHunting(VistaAlumnoHunting entidad)
        {
            LNGeneral lngeneral = new LNGeneral();
            //entidad.ListaBusqueda = lngeneral.EmpresaHuntingBuscarSimple(entidad.PalabraClave == null ? "" : entidad.PalabraClave);

            List<Hunting> lista = lngeneral.EmpresaHuntingBuscarSimple(entidad.PalabraClave == null ? "" : entidad.PalabraClave, entidad.NroPagina, Constantes.FILAS_POR_PAGINA); //1 para demo.

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = entidad.NroPagina;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoPaginacion = "Simple";

            return PartialView("_ResultadoBusquedaHunting", lista);
        }
        public ActionResult BusquedaAvanzadaHunting(VistaAlumnoHunting entidad)
        {
            LNGeneral lngeneral = new LNGeneral();
            //entidad.ListaBusqueda = lngeneral.EmpresaHuntingBuscarSimple(entidad.PalabraClave == null ? "" : entidad.PalabraClave);

            List<Hunting> lista = lngeneral.EmpresaHuntingBuscarAvanzada(entidad.IdTipoEstudio == null ? "" : entidad.IdTipoEstudio,
                entidad.Estudios == null ? "" : entidad.Estudios,
                entidad.IdEstadoEstudio == null ? "" : entidad.IdEstadoEstudio,
                entidad.IdSectorEmpresarial == null ? "" : entidad.IdSectorEmpresarial,
                entidad.AnosExperiencia,
                entidad.NombreCargo == null ? "" : entidad.NombreCargo,
                entidad.IdInformacionAdicional == null ? "" : entidad.IdInformacionAdicional,
                entidad.Conocimiento == null ? "" : entidad.Conocimiento,
                entidad.Distrito == null ? "" : entidad.Distrito,
                entidad.NroPagina, Constantes.FILAS_POR_PAGINA);

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = entidad.NroPagina;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;

            ViewBag.TipoPaginacion = "Avanzada";

            return PartialView("_ResultadoBusquedaHunting", lista);
        }
        public ActionResult BusquedaSimplePostulacionOferta(VistaPostulacionAlumno entidad)
        {
            entidad.ListaPostulacionesOfertas = lnofertapostulante.ObtenerPostulantesPorIDAlumno(entidad.IdAlumno, entidad.PalabraClave == null ? "" : entidad.PalabraClave, entidad.PaginaActual, Constantes.FILAS_POR_PAGINA);

            if (entidad.ListaPostulacionesOfertas.Count > 0)
            {
                entidad.MaxPagina = entidad.ListaPostulacionesOfertas[0].MaxPagina;
            }

            //Actualización para las paginaciones, se completa el objeto Paginación.

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = entidad.PaginaActual;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
            paginacion.TotalPaginas = entidad.MaxPagina; //cantidadTotal / Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            return PartialView("_ResultadoBusquedaPostulaciones", entidad);
        }
        public PartialViewResult _UsuariosEmpresaUTPCrear(EmpresaUsuario empresaUsuario)
        {
            //if (ModelState.IsValid)
            //{
            TicketUTP ticket = (TicketUTP)Session["TicketUTP"];

            empresaUsuario.CreadoPor = ticket.Usuario;
            empresaUsuario.Empresa.IdEmpresa = Convert.ToInt32(empresaUsuario.CodigoEmpresa);
            empresaUsuario.IdEmpresaLocacion = Convert.ToInt32(empresaUsuario.ListaUbicaciones);

            LNEmpresaUsuario lnEmpresaUsuario = new LNEmpresaUsuario();
            lnEmpresaUsuario.Insertar(empresaUsuario);

            List<EmpresaUsuario> lista = lnEmpresaUsuario.ObtenerUsuariosParaUTP(1, Constantes.FILAS_POR_PAGINA_UTP, "");

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = 1;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            return PartialView("_UsuariosEmpresaLista", lista);
        }
        public ActionResult _EmpresaNuevaModal(VistaRegistroEmpresa empresa)
        {
            LNUsuario lnUsuario = new LNUsuario();
            StringBuilder mensajeDeError = new StringBuilder();
            if (lnUsuario.ValidarExistenciaEmpresa(empresa.PaisIdListaValor, empresa.IdentificadorTributario))
            {
                mensajeDeError.Append("La Empresa ya se encuentra registrada<br />");
            }
            if (mensajeDeError.ToString() == "")
            {
                LNEmpresa lnEmpresa = new LNEmpresa();
                //Empresa
                TicketUTP ticket = (TicketUTP)Session["TicketUTP"];
                empresa.CreadoPor = ticket.Usuario;

                empresa.EstadoIdListaValor = "EMPRNO"; //Estado de la empresa No Activa.
                //Ubicación
                empresa.EstadoLocacionIdListaValor = "LOSTNO"; //Estado NO ACTIVA. Se debe activar al momento que UTP active la cuenta.

                if (empresa.PaisIdListaValor == "PAIPER")
                {
                    empresa.NombreLocacion = empresa.DireccionLocacion + ", " + empresa.TextDistrito + ", " + empresa.TextoCiudad + ", " + empresa.TextoDepartamento;

                }
                else
                {
                    empresa.NombreLocacion = empresa.DireccionLocacion + ", " + empresa.DireccionDistritoLocacion + ", " + empresa.DireccionCiudadLocacion + ", " + empresa.DireccionDepartamentoLocacion;
                }

                lnEmpresa.Insertar(empresa);

                //Si el registro fue exitoso redireccionar a página de resultado.
                TempData["GuardaRegistroExitoso"] = "La Empresa <strong>" + empresa.NombreComercial
                + "</strong>se ha registrado con éxito. ";
                //Aquí debería enviarse un correo
                //return PartialView();
            }
            else
            {
                var errors = ModelState.Select(x => x.Value.Errors)
                           .Where(y => y.Count > 0)
                           .ToList();
                //Variable temporal para poner el break
                int a = 0;
            }
            LNGeneral lnGeneral = new LNGeneral();
            ViewBag.PaisIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_PAIS), "IdListaValor", "Valor", empresa.PaisIdListaValor);
            ViewBag.SectorEmpresarial1IdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_SECTOR_EMPRESARIAL), "IdListaValor", "Valor", empresa.SectorEmpresarial1IdListaValor);
            ViewBag.TipoLocacionIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_LOCACION), "IdListaValor", "Valor", empresa.TipoLocacionIdListaValor);
            ViewBag.TipoDocumentoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_DOCUMENTO), "IdListaValor", "Valor", empresa.TipoDocumentoIdListaValor);

            ViewBag.DireccionDepartamentoLocacion = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_Departamento), "IdListaValor", "Valor", empresa.DireccionDepartamentoLocacion);

            ViewBag.MensajeDeError = mensajeDeError;
            //return RedirectToAction("Empresas");

            LNEmpresaUsuario lnEmpresaUsuario = new LNEmpresaUsuario();
            List<EmpresaUsuario> lista = lnEmpresaUsuario.ObtenerUsuariosParaUTP(1, Constantes.FILAS_POR_PAGINA_UTP, "");

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = 1;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";
            TicketUTP ticketUtp = (TicketUTP)Session["TicketUtp"];
            ViewBag.Rol = ticketUtp.Rol;

            return PartialView("_ResultadoBusquedaEmpresas", lista);
        }
        public PartialViewResult _UsuariosEmpresaUTPEditar(EmpresaUsuario empresaUsuario)
        {
            //if (ModelState.IsValid)
            //{
            TicketUTP ticket = (TicketUTP)Session["TicketUtp"];

            //empresaUsuario.Empresa.IdEmpresa = ticket.IdEmpresa;
            empresaUsuario.ModificadoPor = ticket.Usuario;

            LNEmpresaUsuario lnEmpresaUsuario = new LNEmpresaUsuario();
            lnEmpresaUsuario.Actualizar(empresaUsuario);

            //Se actualiza la lista de usuarios de la empresa.
            List<EmpresaUsuario> lista = lnEmpresaUsuario.ObtenerUsuariosParaUTP(1, Constantes.FILAS_POR_PAGINA_UTP, "");

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = 1;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            return PartialView("_UsuariosEmpresaLista", lista);
            //}
            //else
            //{
            //    var errors = ModelState.Select(x => x.Value.Errors)
            //               .Where(y => y.Count > 0)
            //               .ToList();

            //    int a = 0;
            //}
            //return PartialView("_AdministrarUsuarioEditar", empresaUsuario);
        }
        public ActionResult BuscarOfertas(VistaOferta entidad)
        {
            List<OfertaUTP> lista = lnUtp.UTP_ObtenerOfertasporActivar(
                entidad.PalabraClave == null ? "" : entidad.PalabraClave,
                entidad.nroPaginaActual,
                Constantes.FILAS_POR_PAGINA_UTP
            );

            Session["DataTableToExport"] = lnUtp.OfertaBusquedaExcel(entidad.PalabraClave == null ? "" : entidad.PalabraClave);

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = entidad.nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            TicketUTP ticketUtp = (TicketUTP)Session["TicketUtp"];
            ViewBag.Rol = ticketUtp.Rol;

            return PartialView("_ListaUTPOfertas", lista);
        }
        public ActionResult BusquedaAlumnosAvanzada(VistaAlumno entidad)
        {
            List<AlumnoUTP> lista = lnUtp.UTP_ObtenerUltimosAlumnosAvanzada(
                entidad.Carrera == null ? "" : entidad.Carrera,
                entidad.Ciclo == null ? "" : entidad.Ciclo,
                entidad.SectorEmpresarial == null ? "" : entidad.SectorEmpresarial,
                entidad.Alumno == null ? "" : entidad.Alumno,
                entidad.Sexo == null ? "" : entidad.Sexo,
                entidad.Distrito == null ? "" : entidad.Distrito,
                entidad.TipoEstudio == null ? "" : entidad.TipoEstudio,
                entidad.Conocimientos == null ? "" : entidad.Conocimientos,
                entidad.EstadoEstudio == null ? "" : entidad.EstadoEstudio,
                entidad.completitud,
                entidad.nroPaginaActual,
                Constantes.FILAS_POR_PAGINA_UTP
            );

            Session["DataTableToExport"] = lnUtp.AlumnosBusquedaExcel(
                entidad.Alumno == null ? "" : entidad.Alumno,
                entidad.Carrera == null ? "" : entidad.Carrera,
                entidad.Ciclo == null ? "" : entidad.Ciclo,
                entidad.SectorEmpresarial == null ? "" : entidad.SectorEmpresarial,
                entidad.Sexo == null ? "" : entidad.Sexo,
                entidad.Distrito == null ? "" : entidad.Distrito,
                entidad.TipoEstudio == null ? "" : entidad.TipoEstudio,
                entidad.Conocimientos == null ? "" : entidad.Conocimientos,
                entidad.EstadoEstudio == null ? "" : entidad.EstadoEstudio,
                entidad.completitud
            );

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            //Esto van en todas las paginas
            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = entidad.nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Avanzada";
            return PartialView("_ListaUTPAlumnos", lista);
        }
        public PartialViewResult _ListavalorPadre(int nroPaginaActual = 1, int filasPorPagina = Constantes.FILAS_POR_PAGINA_UTP)
        {
            List<Lista> lista = new List<Lista>();

            DataTable dtResultado = lnUtp.UTP_LISTAVALORPADRE(nroPaginaActual, filasPorPagina);

            foreach (DataRow fila in dtResultado.Rows)
            {

                Lista objlista = new Lista();

                objlista.IDLista = Convert.ToInt32(fila["IDLista"]);
                objlista.NombreLista = Convert.ToString(fila["NombreLista"]);
                objlista.DescripcionLista = Convert.ToString(fila["DescripcionLista"]);
                objlista.Modificable = Convert.ToBoolean(fila["Modificable"]);
                objlista.CantidadTotal = Convert.ToInt32(fila["CantidadTotal"]);
                lista.Add(objlista);
            }

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";
            return PartialView("_ListavalorPadre", lista);
        }
        //public ActionResult Eventos(string SearchString)
        public ActionResult BusquedaEventos(string SearchString, int nroPaginaActual = 1)
        {
            string palabraClave = SearchString == null ? "" : SearchString;
            List<VistaObtenerEventosUTP> listaEjemplo = new List<VistaObtenerEventosUTP>();

            DataTable dtResultado = lnUtp.UTP_ObtenerEventosObtenerBuscar(palabraClave, nroPaginaActual, Constantes.FILAS_POR_PAGINA_UTP);
            //DataTable dtResultado = lnUtp.UTP_ObtenerEventosObtenerBuscar(palabraClave);

            foreach (DataRow fila in dtResultado.Rows)
            {
                VistaObtenerEventosUTP vista = new VistaObtenerEventosUTP();

                vista.IdEvento = Convert.ToInt32(fila["IdEvento"]);
                vista.NombreEvento = Convert.ToString(fila["NombreEvento"]);
                vista.LugarEvento = Convert.ToString(fila["LugarEvento"]);
                //vista.Expositor = Convert.ToString(fila["Expositor"]);
                vista.DireccionEvento = Convert.ToString(fila["DireccionEvento"]);
                vista.AsistentesEsperados = Convert.ToInt32(fila["AsistentesEsperados"] == System.DBNull.Value ? null : fila["AsistentesEsperados"]);
                vista.FechaEvento = Convert.ToString(fila["FechaEvento"]);
                vista.CantidadTotal = Convert.ToInt32(fila["CantidadTotal"]);

                listaEjemplo.Add(vista);
            }

            //Datos para la paginación.
            int cantidadTotal = listaEjemplo.Count() == 0 ? 0 : listaEjemplo[0].CantidadTotal;

            //Esto van en todas las paginas
            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = nroPaginaActual;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            TicketUTP ticketUtp = (TicketUTP)Session["TicketUtp"];
            ViewBag.Rol = ticketUtp.Rol;

            return PartialView("_ListaUtpEvento", listaEjemplo);
        }
        public PartialViewResult _ListaValorPadreInsertar(Lista objlista)
        {
            //Esto es para guardar el usuario de creacion
            TicketUTP ticket = (TicketUTP)Session["TicketUtp"];

            objlista.Creadopor = ticket.Usuario;

            // logica que guarda los datos

            lnUtp.UTPINSERTAR_LISTAVALORPADRE(objlista);

            //recorro los datos para mostrar en el partial

            List<Lista> coleccionDeLista = new List<Lista>();

            DataTable dtResultado = lnUtp.UTP_LISTAVALORPADRE(1, 10);

            foreach (DataRow fila in dtResultado.Rows)
            {
                //Lista es una clase.
                Lista nuevalista = new Lista();

                nuevalista.IDLista = Convert.ToInt32(fila["IDLista"]);
                nuevalista.NombreLista = Convert.ToString(fila["NombreLista"]);
                nuevalista.DescripcionLista = Convert.ToString(fila["DescripcionLista"]);
                nuevalista.Modificable = Convert.ToBoolean(fila["Modificable"]);
                nuevalista.Creadopor = Convert.ToString(fila["Creadopor"]);
                nuevalista.FechaCreacion = Convert.ToString(dtResultado.Rows[0]["FechaCreacion"] == null ? "" : dtResultado.Rows[0]["FechaCreacion"]);
                nuevalista.Modificadopor = Convert.ToString(fila["Modificadopor"]);
                nuevalista.FechaModificacion = Convert.ToString(fila["FechaModificacion"] == null ? "" : fila["FechaModificacion"]);
                nuevalista.CantidadTotal = Convert.ToInt32(fila["CantidadTotal"]);
                coleccionDeLista.Add(nuevalista);
            }

            //Datos para la paginación.
            int cantidadTotal = coleccionDeLista.Count() == 0 ? 0 : coleccionDeLista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = 1;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";
            return PartialView("_ListavalorPadre", coleccionDeLista);
        }
        //Elimina datos de la lista de valor hijo
        public PartialViewResult EliminarVista_ListaValorHijo(string idListaValor, int idlista)
        {
            //ListaValor lista = new ListaValor();

            lnUtp.UTPELIMINAR_LISTAVALORHIJO(idListaValor);

            List<ListaValor> lista = new List<ListaValor>();

            DataTable dtResultado = lnUtp.UTP_LISTAVALORHIJO(Convert.ToInt32(idlista), 1, 10);

            for (int i = 0; i <= dtResultado.Rows.Count - 1; i++)
            {
                ListaValor objListaValor = new ListaValor();
                objListaValor.IdLista = Convert.ToInt32(dtResultado.Rows[i]["IdLista"].ToString());
                objListaValor.IdListaValor = dtResultado.Rows[i]["IdListaValor"].ToString();
                objListaValor.Valor = dtResultado.Rows[i]["Valor"].ToString();
                objListaValor.DescripcionValor = dtResultado.Rows[i]["DescripcionValor"].ToString();
                objListaValor.Icono = dtResultado.Rows[i]["Icono"].ToString();
                objListaValor.Peso = Convert.ToInt32(dtResultado.Rows[i]["Peso"] == DBNull.Value ? 0 : dtResultado.Rows[i]["Peso"]);
                objListaValor.ValorUTP = dtResultado.Rows[i]["ValorUTP"].ToString();
                objListaValor.Padre = dtResultado.Rows[i]["Padre"].ToString();
                objListaValor.EstadoValor = dtResultado.Rows[i]["EstadoValor"].ToString();
                objListaValor.CantidadTotal = Convert.ToInt32(dtResultado.Rows[i]["CantidadTotal"]);
                lista.Add(objListaValor);

            }

            //Datos para la paginación.
            int cantidadTotal = lista.Count() == 0 ? 0 : lista[0].CantidadTotal;

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = 1;
            paginacion.CantidadTotalResultados = cantidadTotal;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            paginacion.TotalPaginas = cantidadTotal / Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA_UTP; // Constantes.FILAS_POR_PAGINA_UTP;
            if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Simple";

            //return RedirectToAction("Vista_ListaValorHijo");
            return PartialView("Vista_ListaValorHijo", lista);
        }
        public ActionResult BusquedaAvanzadaOferta(VistaOfertaAlumno entidad)
        {
            entidad.ListaOfertas = lnoferta.BuscarAvanzadoOfertasAlumno(entidad);
            if (entidad.ListaOfertas.Count > 0)
            {
                entidad.MaxPagina = entidad.ListaOfertas[0].TotalRegistros / Constantes.FILAS_POR_PAGINA;
                int residuo = entidad.MaxPagina % Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
                if (residuo > 0) entidad.MaxPagina += 1;
            }

            Paginacion paginacion = new Paginacion();
            paginacion.NroPaginaActual = entidad.PaginaActual;
            paginacion.FilasPorPagina = Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
            paginacion.TotalPaginas = entidad.MaxPagina; // cantidadTotal / Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
            //int residuo = cantidadTotal % Constantes.FILAS_POR_PAGINA; // Constantes.FILAS_POR_PAGINA;
            //if (residuo > 0) paginacion.TotalPaginas += 1;

            ViewBag.Paginacion = paginacion;
            ViewBag.TipoBusqueda = "Avanzada";

            return PartialView("_ResultadoBusquedaOfertas", entidad);
        }