예제 #1
0
        private PartialViewResult mensajeUTPAlumnoNuevo(string pantalla, string usuarioAlumno)
        {
            TicketUTP ticketUtp = (TicketUTP)Session["TicketUtp"];
            LNAlumno  lnAlumno  = new LNAlumno();
            Alumno    alumno    = lnAlumno.ObtenerAlumnoPorCodigo(usuarioAlumno);

            Mensaje mensaje = new Mensaje();

            mensaje.DeUsuario = ticketUtp.Usuario;
            mensaje.DeUsuarioCorreoElectronico = ticketUtp.CorreoElectronico;
            mensaje.ParaUsuario                  = usuarioAlumno;
            mensaje.ParaUsuarioNombre            = usuarioAlumno;
            mensaje.ParaUsuarioCorreoElectronico = alumno.CorreoElectronico1;
            mensaje.CreadoPor = ticketUtp.Usuario;
            mensaje.Pantalla  = pantalla;


            //Hallar las ofertas a las que el alumno a postulado.
            List <VistaAlumnoOferta> listaOfertas = lnMensaje.ObtenerOfertasPorIdAlumno(alumno.IdAlumno);

            //Se cargan en el ViewBag para ser consumidas desde el html.
            ViewBag.IdOfertaMensaje = new SelectList(listaOfertas, "IdOferta", "CargoOfrecido");

            return(PartialView("_MensajesNuevo", mensaje));
        }
        public ActionResult FinalizarOferta(string idOferta, string estado, string pantalla = "")
        {
            LNOferta lnOferta = new LNOferta();

            lnOferta.CambiarEstado(Convert.ToInt32(idOferta), estado);  //Estado oferta finalizado.

            //Correo de la empresa a UTP
            if (pantalla == Constantes.MENSAJES_EMPRESA_OFERTA && estado == "OFERPR") //Se envia pendiente de activación.
            {
                //Si el estado es pendiente de activación se debe mandar un aviso al ejecutivo de cuenta de UTP.
                DataTable dtDatos = lnOferta.ObtenerDatosParaMensaje(Convert.ToInt32(idOferta));

                //Validación de que la tabla contenga datos.
                if (dtDatos.Rows.Count > 0)
                {
                    string        para          = Convert.ToString(dtDatos.Rows[0]["CorreoUTP"]);
                    string        nombreEmpresa = Convert.ToString(dtDatos.Rows[0]["NombreEmpresa"]);
                    string        nombreOferta  = Convert.ToString(dtDatos.Rows[0]["NombreOferta"]);
                    TicketEmpresa ticket        = (TicketEmpresa)Session["TicketEmpresa"];

                    Mensaje mensaje = new Mensaje();
                    mensaje.DeUsuarioCorreoElectronico   = ticket.CorreoElectronico;
                    mensaje.ParaUsuarioCorreoElectronico = para;
                    mensaje.MensajeTexto = "La empresa " + nombreEmpresa + " ha creado la oferta " + nombreOferta + " que está pendiente de activación.";
                    mensaje.Asunto       = nombreOferta + " - Oferta pendiente de activación.";
                    LNCorreo.EnviarCorreo(mensaje);
                }

                //04MAR: Al publicar la oferta se debe redireccionar a la lista de ofertas.
                RedirectToAction("Publicacion", "Empresa");
            }
            else
            //De UTP a la empresa.
            if (pantalla == Constantes.MENSAJES_UTP_OFERTA && estado == "OFERAC")     //UTP envía el estado activado.
            {
                TicketUTP ticket  = (TicketUTP)Session["TicketUtp"];
                DataTable dtDatos = lnOferta.ObtenerDatosParaMensaje(Convert.ToInt32(idOferta));

                if (dtDatos.Rows.Count > 0)
                {
                    string para          = Convert.ToString(dtDatos.Rows[0]["CorreoUsuarioEmpresa"]);
                    string nombreEmpresa = Convert.ToString(dtDatos.Rows[0]["NombreEmpresa"]);
                    string nombreOferta  = Convert.ToString(dtDatos.Rows[0]["NombreOferta"]);

                    Mensaje mensaje = new Mensaje();
                    mensaje.DeUsuarioCorreoElectronico   = ticket.CorreoElectronico;
                    mensaje.ParaUsuarioCorreoElectronico = para;
                    mensaje.MensajeTexto = "La oferta " + nombreOferta + " ha sido activada con éxito.";
                    mensaje.Asunto       = nombreOferta + " - Oferta activada";
                    LNCorreo.EnviarCorreo(mensaje);
                }
            }


            //No debe retornar vistas.
            return(Content(""));
        }
예제 #3
0
        private PartialViewResult mensajeUTPIndexNuevo(string pantalla)
        {
            TicketUTP ticketUtp = (TicketUTP)Session["TicketUtp"];

            Mensaje mensaje = new Mensaje();

            mensaje.DeUsuario = ticketUtp.Usuario;
            mensaje.DeUsuarioCorreoElectronico = ticketUtp.CorreoElectronico;
            mensaje.CreadoPor = ticketUtp.Usuario;
            mensaje.Pantalla  = pantalla;

            return(PartialView("_MensajesNuevo", mensaje));
        }
예제 #4
0
        private PartialViewResult mensajeUTPEmpresaNuevo(string pantalla)
        {
            TicketUTP ticketUtp = (TicketUTP)Session["TicketUtp"];

            DataTable dt = lnMensaje.ObtenerUsuarioEmpresaPorIdEmpresa(IdEmpresaParametro);

            Mensaje mensaje = new Mensaje();

            mensaje.DeUsuario = ticketUtp.Usuario;
            mensaje.DeUsuarioCorreoElectronico = ticketUtp.CorreoElectronico;
            mensaje.ParaUsuario                  = Convert.ToString(dt.Rows[0]["Usuario"]);
            mensaje.ParaUsuarioNombre            = Convert.ToString(dt.Rows[0]["Usuario"]);
            mensaje.ParaUsuarioCorreoElectronico = Convert.ToString(dt.Rows[0]["CorreoElectronico"]);
            mensaje.CreadoPor = ticketUtp.Usuario;
            mensaje.Pantalla  = pantalla;

            return(PartialView("_MensajesNuevo", mensaje));
        }
예제 #5
0
        //public override void OnActionExecuting(ActionExecutingContext filterContext)
        //{
        //

        //    base.OnActionExecuting(filterContext);
        //}

        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            if (filterContext.Exception != null)
            {
                TicketEmpresa ticketEmpresa = (TicketEmpresa)filterContext.HttpContext.Session["TicketEmpresa"];
                TicketAlumno  ticketAlumno  = (TicketAlumno)filterContext.HttpContext.Session["TicketAlumno"];
                TicketUTP     ticketUTP     = (TicketUTP)filterContext.HttpContext.Session["TicketUtp"];

                string ip          = HttpContext.Current.Request.UserHostAddress;
                string accion      = "";
                string controlador = "";

                //Se obtiene la acción y el controlador:
                var routeValues = HttpContext.Current.Request.RequestContext.RouteData.Values;
                if (routeValues != null)
                {
                    if (routeValues.ContainsKey("action"))
                    {
                        accion = routeValues["action"].ToString();
                    }
                    if (routeValues.ContainsKey("controller"))
                    {
                        controlador = routeValues["controller"].ToString();
                    }
                }

                //Se obtiene el usuario autenticado:
                string usuario = ticketEmpresa == null ? (ticketAlumno == null ? ticketUTP.Usuario : ticketAlumno.Usuario) : ticketEmpresa.Usuario;
                Error  error   = new Error();
                error.Usuario             = usuario;
                error.IP                  = ip;
                error.Accion              = accion;
                error.Controlador         = controlador;
                error.ErrorMessage        = filterContext.Exception.Message;
                error.ErrorInnerException = filterContext.Exception.InnerException == null ? "" : filterContext.Exception.InnerException.Message;
                error.ErrorSource         = filterContext.Exception.Source;
                error.ErrorStackTrace     = filterContext.Exception.StackTrace;

                LNLog.InsertarLog(error);
            }

            base.OnActionExecuted(filterContext);
        }
예제 #6
0
        public PartialViewResult _MensajesVer(int idMensaje, string pantalla)
        {
            Mensaje mensaje = lnMensaje.ObtenerPorIdMensaje(idMensaje);

            mensaje.Pantalla = pantalla;

            //Se obtiene al remitente del mensaje:
            string remitente = mensaje.DeUsuario;

            //Se obtiene al usuario que está autenticado:
            TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"];
            TicketAlumno  ticketAlumno  = (TicketAlumno)Session["TicketAlumno"];
            TicketUTP     ticketUTP     = (TicketUTP)Session["TicketUtp"];

            string usuarioAutenticado = "";

            if (ticketEmpresa != null)
            {
                usuarioAutenticado = ticketEmpresa.Usuario;                        //usuario de empresa
            }
            else if (ticketAlumno != null)
            {
                usuarioAutenticado = ticketAlumno.Usuario;                            //usuario alumno
            }
            else if (ticketUTP != null)
            {
                usuarioAutenticado = ticketUTP.Usuario;                         //usuario utp
            }
            ViewBag.BotonContestar = "";
            if (remitente == usuarioAutenticado)
            {
                ViewBag.BotonContestar = "disabled";
            }
            else
            {
                //Se actualiza el estado del mensaje, sólo si el remitente es distinto al usuario autenticado.
                lnMensaje.ActualizarEstadoMensaje(idMensaje, "MSJLEI");  //Se actualiza a mensaje a leído.
            }

            return(PartialView("_MensajesVer", mensaje));
        }
예제 #7
0
        private PartialViewResult mensajeUTPEventoNuevo(string pantalla, int idEvento)
        {
            ViewBag.Pantalla = pantalla;
            TicketUTP ticketUTP = (TicketUTP)Session["TicketUtp"];

            LNEvento  lnEvento = new LNEvento();
            DataTable dtEvento = lnEvento.EVENTO_OBTENERPORID(idEvento);

            Mensaje mensaje = new Mensaje();

            mensaje.DeUsuario = ticketUTP.Usuario;
            mensaje.DeUsuarioCorreoElectronico = ticketUTP.CorreoElectronico;
            mensaje.Pantalla = pantalla;
            mensaje.Asunto   = Convert.ToString(dtEvento.Rows[0]["NombreEvento"]);
            //mensaje.ParaUsuario = "faltaUsuarioUTPDelEvento";
            //mensaje.ParaUsuarioCorreoElectronico = "faltaUsuarioCorreoUTPDelEvento";

            //ViewBag.ParaUsuario = lnEvento.ObtenerAsistentes(idEvento, "EVTAAL"); //tipo alumno.
            ViewBag.IdEventoGeneral = idEvento;

            return(PartialView("_MensajesNuevo", mensaje));
        }
        public ActionResult Autenticar(Usuario usuario)
        {
            if (Session["Captcha"] == null || usuario.Captcha == null || Convert.ToString(Session["Captcha"]) != Convert.ToString(usuario.Captcha).ToLower())
            {
                TempData["UsuarioNoExitoso"] = "El texto no coincide con la imagen";
                //ModelState.AddModelError("Captcha", "Wrong value of sum, please try again.");
                return(RedirectToAction("Index", "Home"));
            }

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

            //1. Recuperar datos de Usuario
            DataSet dsResultado = ln.Autenticar_Usuario(usuario.NombreUsuario);

            //2. Si el Usuario existe en el Portal validar que está activo
            if (dsResultado.Tables[0].Rows.Count > 0)
            {
                string estadoUsuario = Convert.ToString(dsResultado.Tables[0].Rows[0]["EstadoUsuario"]);

                if (estadoUsuario == "USEMAC")
                {
                    // 3. Si está activo Validar su Contraseña
                    string tipoUsuario            = Convert.ToString(dsResultado.Tables[0].Rows[0]["TipoUsuario"]);
                    string contrasenaDecodificada = Convert.ToString(dsResultado.Tables[0].Rows[0]["Contrasena"]); //AGREGAR PROCESO DE DESEMCRIPTAMIENTO
                    bool   contrasenaValida       = false;
                    //4. Si es Alumno o Usuario UTP Validar contra el AD
                    if (tipoUsuario == "USERUT" || tipoUsuario == "USERAL")
                    {
                        if (tipoUsuario == "USERUT")
                        {
                            if (ValidadADEmpleado(usuario.NombreUsuario, usuario.Contrasena))
                            {
                                contrasenaValida = true;
                            }
                        }
                        if (tipoUsuario == "USERAL")
                        {
                            if (ValidadADAlumno(usuario.NombreUsuario, usuario.Contrasena))
                            {
                                contrasenaValida = true;
                                autenticarExchange(usuario);
                            }
                        }
                    }
                    else
                    {
                        byte[] bytes     = Encoding.Default.GetBytes(usuario.Contrasena);
                        SHA1   sha       = new SHA1CryptoServiceProvider();
                        byte[] password  = sha.ComputeHash(bytes);
                        String spassword = Encoding.Default.GetString(password);
                        // This is one implementation of the abstract class SHA1.
                        if (contrasenaDecodificada == spassword)
                        {
                            contrasenaValida = true;
                        }
                    }
                    //Si la contraseña es válida, recupera los datos del Usuario de acuerdo al tipo, y contruye la session
                    if (contrasenaValida)
                    {
                        if (tipoUsuario == "USERUT")
                        {
                            //Crear un onbjketo TikcetUTP

                            TicketUTP ticketUtp = new TicketUTP();
                            ticketUtp.Usuario           = Convert.ToString(dsResultado.Tables[3].Rows[0]["Usuario"]);
                            ticketUtp.Nombre            = Convert.ToString(dsResultado.Tables[3].Rows[0]["Nombre"]);
                            ticketUtp.CorreoElectronico = Convert.ToString(dsResultado.Tables[3].Rows[0]["CorreoElectronico"]);
                            ticketUtp.TelefonoCelular   = Convert.ToString(dsResultado.Tables[3].Rows[0]["TelefonoCelular"]);
                            ticketUtp.TipoUsuario       = Convert.ToString(dsResultado.Tables[3].Rows[0]["TipoUsuario"]);

                            ////agrege este campo
                            ticketUtp.Rol = Convert.ToString(dsResultado.Tables[0].Rows[0]["Rol"]);

                            Session["TicketUtp"] = ticketUtp;


                            //TempData["ADMINISTRADORUTP"] = ticketUtp.Rol;

                            //ViewBag.mensaje = ticketUtp.Rol;


                            //REdireccionas al indexl de la uitp
                            return(RedirectToAction("Index", "UTP"));
                        }
                        if (tipoUsuario == "USEREM")
                        {
                            //Crear un onbjketo TikcetEmpresa

                            TicketEmpresa ticketEmpresa = new TicketEmpresa();
                            ticketEmpresa.Usuario           = Convert.ToString(dsResultado.Tables[2].Rows[0]["Usuario"]);
                            ticketEmpresa.Nombre            = Convert.ToString(dsResultado.Tables[2].Rows[0]["Nombre"]);
                            ticketEmpresa.DNI               = Convert.ToString(dsResultado.Tables[2].Rows[0]["Dni"]);
                            ticketEmpresa.CorreoElectronico = Convert.ToString(dsResultado.Tables[2].Rows[0]["CorreoElectronico"]);
                            ticketEmpresa.TelefonoCelular   = Convert.ToString(dsResultado.Tables[2].Rows[0]["TelefonoCelular"]);
                            ticketEmpresa.TipoUsuario       = Convert.ToString(dsResultado.Tables[2].Rows[0]["TipoUsuario"]);
                            ticketEmpresa.IdEmpresa         = Convert.ToInt32(dsResultado.Tables[2].Rows[0]["IdEmpresa"]);
                            ticketEmpresa.Rol               = Convert.ToString(dsResultado.Tables[2].Rows[0]["Rol"]);

                            Session["TicketEmpresa"] = ticketEmpresa;


                            //TicketEmpresa tcke2 = (TicketEmpresa)Session["TicketEmpresa"];

                            //REdireccionas al indexl de la empresa

                            Ticket ticket = new Ticket();
                            ticket.UsuarioNombre = usuario.NombreUsuario;
                            ticket.IdEmpresa     = 1;

                            Session["Ticket"] = ticket;

                            return(RedirectToAction("Index", "Empresa"));
                        }
                        if (tipoUsuario == "USERAL")
                        {
                            //Valida la contraseña en el AD.


                            TicketAlumno ticketAlumno = new TicketAlumno();
                            ticketAlumno.Usuario           = Convert.ToString(dsResultado.Tables[1].Rows[0]["Usuario"]);
                            ticketAlumno.Nombre            = Convert.ToString(dsResultado.Tables[1].Rows[0]["Nombre"]);
                            ticketAlumno.DNI               = Convert.ToString(dsResultado.Tables[1].Rows[0]["Dni"]);
                            ticketAlumno.CorreoElectronico = Convert.ToString(dsResultado.Tables[1].Rows[0]["CorreoElectronico"]);
                            ticketAlumno.TelefonoCelular   = Convert.ToString(dsResultado.Tables[1].Rows[0]["TelefonoCelular"]);
                            ticketAlumno.TipoUsuario       = Convert.ToString(dsResultado.Tables[1].Rows[0]["TipoUsuario"]);
                            ticketAlumno.CodAlumnoUTP      = Convert.ToString(dsResultado.Tables[1].Rows[0]["CodAlumnoUtp"]);
                            ticketAlumno.IdAlumno          = Convert.ToInt32(dsResultado.Tables[1].Rows[0]["IdAlumno"]);

                            Session["TicketAlumno"] = ticketAlumno;


                            //REdireccionas al indexl del alumno
                            return(RedirectToAction("Index", "Alumno"));
                        }
                    }
                    else
                    {
                        //Mensaje de error de contraseña
                        TempData["UsuarioNoExitoso"] = "Contraseña inválida";
                    }
                }
                else
                {
                    //Mensaje de error de Usuario no activo
                    if (estadoUsuario == "USEMFI")
                    {
                        TempData["UsuarioNoExitoso"] = "Usuario Deshabilitado, comuníquese con su Administrador";
                    }
                    if (estadoUsuario == "USEMNO")
                    {
                        TempData["UsuarioNoExitoso"] = "Usuario Desactivado, comuníquese con su Administrador";
                    }
                    if (estadoUsuario == "USEUTP")
                    {
                        TempData["UsuarioNoExitoso"] = "Usuario pendiente de Validación por UTP";
                    }
                }
            }
            else
            {
                //Si no existe se busca en la tabla UTPAlumno

                //Buscar al usuario en UTPAlumno
                LNUTPAlumnos lnUTPAlumnos  = new LNUTPAlumnos();
                DataSet      dsDatosAlumno = lnUTPAlumnos.ObtenerDatosPorCodigo(usuario.NombreUsuario);

                if (dsDatosAlumno.Tables[0].Rows.Count > 0)
                {
                    //Si la tabla contiene filas => sí existe el alumno en la tabla UTPAlumnos.

                    //1. Validar la contraseña con el AD
                    bool tieneAcceso = false;
                    //bool tieneAcceso = callWebServiceADUTP(usuario.Contrasena)
                    tieneAcceso = true;

                    if (tieneAcceso)
                    {
                        //2. Leer el campo PrimerInicioDeSesion. Si es nulo entonces insertar la información en Usuario, Alumno y AlumnoEstudio.
                        //3. Actualizar el campo PrimerInicioDeSesion a 1.
                        int idAlumno = 0;
                        if (dsDatosAlumno.Tables[0].Rows[0]["PrimerInicioDeSesion"] == DBNull.Value)
                        {
                            //Insertar en [Usuario]
                            idAlumno = lnUTPAlumnos.InsertarDatosDeAlumno(dsDatosAlumno);
                        }

                        TicketAlumno ticketAlumno = new TicketAlumno();
                        ticketAlumno.Usuario           = Convert.ToString(dsDatosAlumno.Tables[0].Rows[0]["Codigo"]);
                        ticketAlumno.Nombre            = Convert.ToString(dsDatosAlumno.Tables[0].Rows[0]["Nombres"]) + " " + Convert.ToString(dsDatosAlumno.Tables[0].Rows[0]["Apellidos"]);
                        ticketAlumno.DNI               = Convert.ToString(dsDatosAlumno.Tables[0].Rows[0]["NumeroDocumento"]);
                        ticketAlumno.CorreoElectronico = Convert.ToString(dsDatosAlumno.Tables[0].Rows[0]["CorreoInstitucional"]);
                        ticketAlumno.TelefonoCelular   = Convert.ToString(dsDatosAlumno.Tables[0].Rows[0]["Celular"]);
                        ticketAlumno.TipoUsuario       = "USERAL";
                        ticketAlumno.CodAlumnoUTP      = Convert.ToString(dsDatosAlumno.Tables[0].Rows[0]["Codigo"]);
                        ticketAlumno.IdAlumno          = idAlumno;

                        Session["TicketAlumno"] = ticketAlumno;

                        autenticarExchange(usuario);
                        //Si tiene acceso se redirecciona al portal principal del alumno.
                        return(RedirectToAction("Index", "Alumno"));
                    }
                    else
                    {
                        //Mensaje de error de contraseña
                        TempData["UsuarioNoExitoso"] = "Contraseña inválida";
                    }
                }
                else
                {
                    //Mensaje de error de contraseña
                    TempData["UsuarioNoExitoso"] = "Usuario o Contraseña inválida";
                }

                //ViewBag.Message = "Registrese";
                //return RedirectToAction("Autenticar", "Cuenta");
                //return JavaScript("OnFailure();");
            }



            //return PartialView("_Login", usuario);
            //TempData["UsuarioNoExitoso"] = usuario.NombreUsuario;
            //Aquí debería enviarse un correo
            return(RedirectToAction("Index", "Home"));
        }
예제 #9
0
        public PartialViewResult _MensajesResponder(string pantalla, int idMensaje)
        {
            Mensaje mensajeBase      = lnMensaje.ObtenerPorIdMensaje(idMensaje); //Este es el mensaje original.
            Mensaje mensajeRespuesta = new Mensaje();

            mensajeRespuesta.Asunto         = "Re: " + mensajeBase.Asunto;
            mensajeRespuesta.IdMensajePadre = mensajeBase.IdMensaje;
            mensajeRespuesta.ParaUsuario    = mensajeBase.DeUsuario;
            mensajeRespuesta.ParaUsuarioCorreoElectronico = mensajeBase.DeUsuarioCorreoElectronico;
            mensajeRespuesta.IdOfertaMensaje = mensajeBase.IdOferta;
            mensajeRespuesta.IdEvento        = mensajeBase.IdEvento;
            mensajeRespuesta.Pantalla        = pantalla;
            mensajeRespuesta.IdEmpresa       = mensajeBase.IdEmpresa;

            if (pantalla == Constantes.MENSAJES_EMPRESA_INDEX || pantalla == Constantes.MENSAJES_EMPRESA_OFERTA)
            {
                TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"];
                mensajeRespuesta.DeUsuario = ticketEmpresa.Usuario;
                mensajeRespuesta.DeUsuarioCorreoElectronico = ticketEmpresa.CorreoElectronico;
                mensajeRespuesta.CreadoPor = ticketEmpresa.Usuario;

                //1. Obtener ofertas activas de la empresa.
                LNOferta lnOferta = new LNOferta();

                //Se obtienen las ofertas activas
                List <VistaEmpresaOferta> listaOfertas = lnOferta.ObtenerOfertasPorIdEmpresa(ticketEmpresa.IdEmpresa).Where(m => m.NombreEstado == "OFERAC").ToList();

                //Se cargan en el ViewBag para ser consumidas desde el html y se establece el IdOferta.
                ViewBag.IdOfertaMensaje = new SelectList(listaOfertas, "IdOferta", "CargoOfrecido", mensajeBase.IdOferta);
            }
            else
            if (pantalla == Constantes.MENSAJES_ALUMNO_INDEX || pantalla == Constantes.MENSAJES_ALUMNO_OFERTA)
            {
                TicketAlumno ticketAlumno = (TicketAlumno)Session["TicketAlumno"];
                mensajeRespuesta.DeUsuario = ticketAlumno.Usuario;
                mensajeRespuesta.DeUsuarioCorreoElectronico = ticketAlumno.CorreoElectronico;
                mensajeRespuesta.CreadoPor = ticketAlumno.Usuario;

                //Hallar las ofertas a las que el alumno a postulado.
                List <VistaAlumnoOferta> listaOfertas = lnMensaje.ObtenerOfertasPorIdAlumno(ticketAlumno.IdAlumno);

                //Se cargan en el ViewBag para ser consumidas desde el html.
                ViewBag.IdOfertaMensaje = new SelectList(listaOfertas, "IdOferta", "CargoOfrecido", mensajeBase.IdOferta);
            }
            else
            if (pantalla == Constantes.MENSAJES_UTP_INDEX || pantalla == Constantes.MENSAJES_UTP_ALUMNO || pantalla == Constantes.MENSAJES_UTP_OFERTA ||
                pantalla == Constantes.MENSAJES_UTP_EMPRESA || pantalla == Constantes.MENSAJES_UTP_EVENTO)
            {
                TicketUTP ticketUtp = (TicketUTP)Session["TicketUtp"];
                mensajeRespuesta.DeUsuario = ticketUtp.Usuario;
                mensajeRespuesta.DeUsuarioCorreoElectronico = ticketUtp.CorreoElectronico;
                mensajeRespuesta.CreadoPor = ticketUtp.Usuario;
            }
            else
            if (pantalla == Constantes.MENSAJES_EMPRESA_EVENTO)
            {
                LNEvento  lnEvento = new LNEvento();
                DataTable dtEvento = lnEvento.EVENTO_OBTENERPORID(mensajeBase.IdEvento);
                mensajeRespuesta.Evento.NombreEvento = Convert.ToString(dtEvento.Rows[0]["NombreEvento"]);

                TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"];
                mensajeRespuesta.DeUsuario = ticketEmpresa.Usuario;
                mensajeRespuesta.DeUsuarioCorreoElectronico = ticketEmpresa.CorreoElectronico;
                mensajeRespuesta.CreadoPor = ticketEmpresa.Usuario;
            }
            else
            if (pantalla == Constantes.MENSAJES_ALUMNO_EVENTO)
            {
                LNEvento  lnEvento = new LNEvento();
                DataTable dtEvento = lnEvento.EVENTO_OBTENERPORID(mensajeBase.IdEvento);
                mensajeRespuesta.Evento.NombreEvento = Convert.ToString(dtEvento.Rows[0]["NombreEvento"]);

                TicketAlumno ticketAlumno = (TicketAlumno)Session["TicketAlumno"];
                mensajeRespuesta.DeUsuario = ticketAlumno.Usuario;
                mensajeRespuesta.DeUsuarioCorreoElectronico = ticketAlumno.CorreoElectronico;
                mensajeRespuesta.CreadoPor = ticketAlumno.Usuario;
            }
            else
            if (pantalla == Constantes.MENSAJES_EMPRESA_HUNTING)
            {
                TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"];
                mensajeRespuesta.DeUsuario = ticketEmpresa.Usuario;
                mensajeRespuesta.DeUsuarioCorreoElectronico = ticketEmpresa.CorreoElectronico;
                mensajeRespuesta.CreadoPor = ticketEmpresa.Usuario;
            }

            ViewBag.Pantalla = pantalla;

            return(PartialView("_MensajesResponder", mensajeRespuesta));
        }
예제 #10
0
        /// <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());
        }
예제 #11
0
        public PartialViewResult _MensajesNuevo(Mensaje mensaje)
        {
            if (mensaje.Pantalla == Constantes.MENSAJES_EMPRESA_INDEX || mensaje.Pantalla == Constantes.MENSAJES_EMPRESA_OFERTA ||
                mensaje.Pantalla == Constantes.MENSAJES_EMPRESA_EVENTO)
            {
                TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"];

                mensaje.DeUsuario = ticket.Usuario;
                mensaje.DeUsuarioCorreoElectronico = ticket.CorreoElectronico;
                mensaje.CreadoPor       = ticket.Usuario;
                mensaje.DeUsuarioNombre = ticket.Nombre;
            }
            else
            if (mensaje.Pantalla == Constantes.MENSAJES_ALUMNO_INDEX || mensaje.Pantalla == Constantes.MENSAJES_ALUMNO_OFERTA ||
                mensaje.Pantalla == Constantes.MENSAJES_ALUMNO_EVENTO)
            {
                TicketAlumno ticketAlumno = (TicketAlumno)Session["TicketAlumno"];
                mensaje.DeUsuario = ticketAlumno.Usuario;
                mensaje.DeUsuarioCorreoElectronico = ticketAlumno.CorreoElectronico;
                mensaje.CreadoPor       = ticketAlumno.Usuario;
                mensaje.DeUsuarioNombre = ticketAlumno.Nombre;
            }
            else
            if (mensaje.Pantalla == Constantes.MENSAJES_UTP_INDEX || mensaje.Pantalla == Constantes.MENSAJES_UTP_ALUMNO ||
                mensaje.Pantalla == Constantes.MENSAJES_UTP_OFERTA || mensaje.Pantalla == Constantes.MENSAJES_UTP_EVENTO ||
                mensaje.Pantalla == Constantes.MENSAJES_UTP_EMPRESA)
            {
                TicketUTP ticketUtp = (TicketUTP)Session["TicketUtp"];
                mensaje.DeUsuario = ticketUtp.Usuario;
                mensaje.DeUsuarioCorreoElectronico = ticketUtp.CorreoElectronico;
                mensaje.CreadoPor       = ticketUtp.Usuario;
                mensaje.DeUsuarioNombre = ticketUtp.Nombre;
            }



            mensaje.FechaEnvio    = DateTime.Now;
            mensaje.EstadoMensaje = "MSJNOL";  //Pendiente de ser leido

            if (mensaje.Pantalla == Constantes.MENSAJES_EMPRESA_HUNTING)
            {
                TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"];

                mensaje.DeUsuario = ticket.Usuario;
                mensaje.DeUsuarioCorreoElectronico = ticket.CorreoElectronico;
                mensaje.CreadoPor       = ticket.Usuario;
                mensaje.DeUsuarioNombre = ticket.Nombre;
                lnMensaje.InsertarHunting(mensaje);
            }
            else
            {
                lnMensaje.Insertar(mensaje);
            }

            //Se guardan las variables para utilizarlas al obtener la lista de mensajes.
            ViewBag.Pantalla       = mensaje.Pantalla;
            this.UsuarioAlumno     = mensaje.ParaUsuario;
            this.IdOferta          = Convert.ToInt32(mensaje.IdOfertaMensaje);
            this.IdEventoParametro = Convert.ToInt32(mensaje.IdEvento);

            List <Mensaje> lista = ObtenerListaMensajes(mensaje.Pantalla);

            ViewBag.IdOfertaMensaje = mensaje.IdOfertaMensaje;
            ViewBag.IdOferta        = mensaje.IdOfertaMensaje;
            ViewBag.IdEvento        = mensaje.IdEvento;
            ViewBag.UsuarioAlumno   = mensaje.ParaUsuario; //Este valor contiene el dato del usuario alumno en las pantallas UTP - Alumno.

            TempData["MsjExitoCrearMensaje"] = "El mensaje se ha enviado con éxito.";

            return(PartialView("_Mensajes", lista.OrderByDescending(m => m.FechaEnvio)));
        }