public ActionResult Contacto(string pantalla = "") { Mensaje mensaje = new Mensaje(); mensaje.Pantalla = pantalla; if (pantalla == Constantes.MENSAJES_EMPRESA_CONTACTO) { TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"]; mensaje.DeUsuario = ticketEmpresa.Usuario; mensaje.DeUsuarioCorreoElectronico = ticketEmpresa.CorreoElectronico; mensaje.DeUsuarioNombre = ticketEmpresa.Nombre; } else if (pantalla == Constantes.MENSAJES_ALUMNO_CONTACTO) { TicketAlumno ticketAlumno = (TicketAlumno)Session["TicketAlumno"]; mensaje.DeUsuario = ticketAlumno.Usuario; mensaje.DeUsuarioCorreoElectronico = ticketAlumno.CorreoElectronico; mensaje.DeUsuarioNombre = ticketAlumno.Nombre; } ViewBag.Pantalla = pantalla; return(View(mensaje)); }
public ActionResult InsertarEventoAsistente(string idEvento, string Pantalla) { string usuario; Evento evento = new Evento(); ViewBag.Pantalla = Pantalla; if (Helper.Desencriptar(Pantalla) == "Alumno") { TicketAlumno ticket = (TicketAlumno)Session["TicketAlumno"]; usuario = ticket.Usuario; LNEvento lnEvento = new LNEvento(); lnEvento.InsertarEventoAsistente(Convert.ToInt32(Helper.Desencriptar(idEvento)), usuario, usuario); evento = lnEvento.EventoPorUsuario(Convert.ToInt32(Helper.Desencriptar(idEvento)), ticket.Usuario); ExchangeService service = (ExchangeService)Session["Office365"]; CreateAppointment(service, evento.FechaEvento, evento.FechaEventoFin, evento.LugarEvento, evento.NombreEvento, evento.DiasEvento); return(RedirectToAction("Evento", "Alumno", new { idEvento = idEvento })); } if (Helper.Desencriptar(Pantalla) == "Empresa") { TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"]; usuario = ticket.Usuario; LNEvento lnEvento = new LNEvento(); lnEvento.InsertarEventoAsistente(Convert.ToInt32(Helper.Desencriptar(idEvento)), usuario, usuario); return(RedirectToAction("Evento", "Empresa", new { idEvento = idEvento })); } return(PartialView("_Evento", evento)); }
private PartialViewResult mensajeAlumnoEventoNuevo(string pantalla, int idEvento) { ViewBag.Pantalla = pantalla; TicketAlumno ticketAlumno = (TicketAlumno)Session["TicketAlumno"]; LNEvento lnEvento = new LNEvento(); DataTable dtEvento = lnEvento.EVENTO_OBTENERPORID(idEvento); Mensaje mensaje = new Mensaje(); mensaje.DeUsuario = ticketAlumno.Usuario; mensaje.DeUsuarioCorreoElectronico = ticketAlumno.CorreoElectronico; mensaje.Pantalla = pantalla; mensaje.Asunto = Convert.ToString(dtEvento.Rows[0]["NombreEvento"]); //Se manda el correo al administrador de la UPT. No existe funcionalidad de asignar usuario UTP al evento. //DataTable dtUsuarioUTPAdmin = lnMensaje.ObtenerUsuarioAdministradorUTP(); //--se obtiene, la información y se completan los campos. //mensaje.ParaUsuario = Convert.ToString(dtUsuarioUTPAdmin.Rows[0]["Usuario"]); //mensaje.ParaUsuarioCorreoElectronico = Convert.ToString(dtUsuarioUTPAdmin.Rows[0]["CorreoElectronico"]); //04MAR15: Se coloca el usuario y correo del que ha creado el evento. mensaje.ParaUsuario = Convert.ToString(dtEvento.Rows[0]["CreadoPor"]); mensaje.ParaUsuarioNombre = Convert.ToString(dtEvento.Rows[0]["NombresUsuarioCreacion"]) + " " + Convert.ToString(dtEvento.Rows[0]["ApellidosUsuarioCreacion"]); mensaje.ParaUsuarioCorreoElectronico = Convert.ToString(dtEvento.Rows[0]["CorreoUsuarioCreacion"]); return(PartialView("_MensajesNuevo", mensaje)); }
public ActionResult Contacto(Mensaje mensaje) { LNMensaje lnMensaje = new LNMensaje(); if (mensaje.Pantalla == Constantes.MENSAJES_EMPRESA_CONTACTO) { TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"]; DataTable dtUsuarioAsignado = lnMensaje.ObtenerUsuarioUTPAsignadoAEmpresa(ticketEmpresa.IdEmpresa); if (dtUsuarioAsignado.Rows.Count > 0) { mensaje.ParaUsuario = Convert.ToString(dtUsuarioAsignado.Rows[0]["Usuario"]); mensaje.ParaUsuarioCorreoElectronico = Convert.ToString(dtUsuarioAsignado.Rows[0]["CorreoElectronico"]); mensaje.CreadoPor = ticketEmpresa.Usuario; } } else if (mensaje.Pantalla == Constantes.MENSAJES_ALUMNO_CONTACTO) { TicketAlumno ticketAlumno = (TicketAlumno)Session["TicketAlumno"]; //Obtener usuario administrador UTP. DataTable dtUsuarioUTPAdmin = lnMensaje.ObtenerUsuarioAdministradorUTP(); mensaje.ParaUsuario = Convert.ToString(dtUsuarioUTPAdmin.Rows[0]["Usuario"]); mensaje.ParaUsuarioCorreoElectronico = Convert.ToString(dtUsuarioUTPAdmin.Rows[0]["CorreoElectronico"]); mensaje.CreadoPor = ticketAlumno.Usuario; } else if (mensaje.Pantalla == Constantes.MENSAJES_INICIO) { //Obtener usuario administrador UTP. DataTable dtUsuarioUTPAdmin = lnMensaje.ObtenerUsuarioAdministradorUTP(); mensaje.ParaUsuario = Convert.ToString(dtUsuarioUTPAdmin.Rows[0]["Usuario"]); mensaje.ParaUsuarioCorreoElectronico = Convert.ToString(dtUsuarioUTPAdmin.Rows[0]["CorreoElectronico"]); mensaje.DeUsuario = mensaje.DeUsuarioCorreoElectronico; mensaje.CreadoPor = mensaje.DeUsuarioCorreoElectronico; //Se coloca el correo de la persona. } mensaje.FechaEnvio = DateTime.Now; mensaje.IdEvento = 0; mensaje.EstadoMensaje = "MSJNOL"; //Pendiente de ser leido lnMensaje.Insertar(mensaje); TempData["MsjExitoCrearMensaje"] = "El mensaje se envió con éxito"; return(RedirectToAction("Contacto", new { pantalla = mensaje.Pantalla })); }
private PartialViewResult obtenerVistaMensajeResponder(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.IdOferta = mensajeBase.IdOferta; mensajeRespuesta.Pantalla = pantalla; if (pantalla == Constantes.MENSAJES_EMPRESA_INDEX) { TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"]; mensajeRespuesta.DeUsuario = ticketEmpresa.Usuario; mensajeRespuesta.DeUsuarioCorreoElectronico = ticketEmpresa.CorreoElectronico; //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.IdOferta = new SelectList(listaOfertas, "IdOferta", "CargoOfrecido", mensajeBase.IdOferta); } else if (pantalla == Constantes.MENSAJES_ALUMNO_INDEX) { TicketAlumno ticketAlumno = (TicketAlumno)Session["TicketAlumno"]; mensajeRespuesta.DeUsuario = ticketAlumno.Usuario; mensajeRespuesta.DeUsuarioCorreoElectronico = ticketAlumno.CorreoElectronico; //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.IdOferta = new SelectList(listaOfertas, "IdOferta", "CargoOfrecido", mensajeBase.IdOferta); } ViewBag.Pantalla = pantalla; return(PartialView("_MensajesResponder", mensajeRespuesta)); }
//[ChildActionOnly] public PartialViewResult _Evento(string Pantalla, string idEvento) { ViewBag.Pantalla = Pantalla; if (Pantalla == "Alumno") { TicketAlumno ticket = (TicketAlumno)Session["TicketAlumno"]; LNEvento lnEvento = new LNEvento(); Evento evento = lnEvento.EventoPorUsuario(Convert.ToInt32(Helper.Desencriptar(idEvento)), ticket.Usuario); return(PartialView("_Evento", evento)); } else { TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"]; LNEvento lnEvento = new LNEvento(); Evento evento = lnEvento.EventoPorUsuario(Convert.ToInt32(Helper.Desencriptar(idEvento)), ticket.Usuario); return(PartialView("_Evento", evento)); } }
public PartialViewResult _Eventos(string Pantalla) { ViewBag.Pantalla = Pantalla; if (Pantalla == "Alumno") { TicketAlumno ticket = (TicketAlumno)Session["TicketAlumno"]; LNEvento lnEvento = new LNEvento(); VistaEventosPorUsuario evento = lnEvento.EventosPorUsuario(ticket.Usuario); return(PartialView(evento)); } else { TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"]; LNEvento lnEvento = new LNEvento(); VistaEventosPorUsuario evento = lnEvento.EventosPorUsuario(ticket.Usuario); return(PartialView(evento)); } }
private PartialViewResult mensajeAlumnoIndexNuevo(string pantalla) { TicketAlumno ticketAlumno = (TicketAlumno)Session["TicketAlumno"]; Mensaje mensaje = new Mensaje(); mensaje.DeUsuario = ticketAlumno.Usuario; mensaje.DeUsuarioCorreoElectronico = ticketAlumno.CorreoElectronico; mensaje.Pantalla = pantalla; //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"); return(PartialView("_MensajesNuevo", mensaje)); }
//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); }
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)); }
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")); }
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)); }
/// <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 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))); }