[ValidateAntiForgeryToken] // this action takes the viewModel from the modal public PartialViewResult _OfertaEstudioEditar(OfertaEstudio ofertaEstudio) //Este es como el submit { if (ofertaEstudio.TipoDeEstudioIdListaValor != "TEUNIV") { ModelState.Remove("Estudio"); //Se quita el campo porque tiene null. ofertaEstudio.Estudio = ofertaEstudio.EstudioTexto; } if (ModelState.IsValid) { TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"]; //Datos DEMO //ofertaEstudio.IdOferta = 13; //ofertaEstudio.CicloEstudio = "AWE2"; //ofertaEstudio.Estudio = "Estudios2"; //ofertaEstudio.TipoDeEstudio.IdListaValor = "ABC2"; //ofertaEstudio.EstadoDelEstudio.IdListaValor = "AWE2"; //ofertaEstudio.EstadoOfertaEstudio.IdListaValor = "ABC2"; ofertaEstudio.ModificadoPor = ticket.Usuario; lnOfertaEstudio.Actualizar(ofertaEstudio); List <OfertaEstudio> lista = lnOfertaEstudio.ObtenerEstudiosNoUniversitarios(ofertaEstudio.IdOferta, idOfertaEstudiosTodos); //TODO: Obtener el Id de la oferta. ViewBag.IdOferta = ofertaEstudio.IdOferta; return(PartialView("_OfertaEstudio", lista)); } return(PartialView("_OfertaEstudioEditar", ofertaEstudio)); }
public PartialViewResult _OfertaSectorEmpresarialCrear(OfertaSectorEmpresarial ofertaSector) { if (ModelState.IsValid) { TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"]; //ofertaSector.IdOferta = 13; //ofertaSector.SectorEmpresarial.IdListaValor = "ABE"; //ofertaSector.ExperienciaExcluyente = false; //ofertaSector.AniosTrabajados = 3; ofertaSector.EstadoOfertaSectorEmpresarial.IdListaValor = "OFSEAC"; //Oferrta sector empresarial activa. ofertaSector.CreadoPor = ticket.Usuario; LNOfertaSectorEmpresarial lnOfertaSector = new LNOfertaSectorEmpresarial(); lnOfertaSector.Insertar(ofertaSector); List <OfertaSectorEmpresarial> lista = lnSector.ObtenerSectoresEmpresariales(ofertaSector.IdOferta, 0); ViewBag.IdOferta = ofertaSector.IdOferta; return(PartialView("_OfertaSectorEmpresarial", lista)); } else { //Código para ubicar los errores en el ModelState. var errors = ModelState.Select(x => x.Value.Errors) .Where(y => y.Count > 0) .ToList(); int a = 0; } return(PartialView("_OfertaSectorEmpresarialCrear", ofertaSector)); }
private PartialViewResult mensajeEmpresaEventoNuevo(string pantalla, int idEvento) { ViewBag.Pantalla = pantalla; TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"]; LNEvento lnEvento = new LNEvento(); DataTable dtEvento = lnEvento.EVENTO_OBTENERPORID(idEvento); Mensaje mensaje = new Mensaje(); mensaje.DeUsuario = ticketEmpresa.Usuario; mensaje.DeUsuarioCorreoElectronico = ticketEmpresa.CorreoElectronico; mensaje.Pantalla = pantalla; mensaje.Asunto = Convert.ToString(dtEvento.Rows[0]["NombreEvento"]); mensaje.Evento.NombreEvento = Convert.ToString(dtEvento.Rows[0]["NombreEvento"]); mensaje.IdEvento = Convert.ToInt32(dtEvento.Rows[0]["IdEvento"]); //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 PartialViewResult _OfertaSectorEmpresarialEditar(OfertaSectorEmpresarial ofertaSector) { if (ModelState.IsValid) { TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"]; //ofertaSector.IdOferta = 13; //ofertaSector.SectorEmpresarial.IdListaValor = "ABE222"; //ofertaSector.ExperienciaExcluyente = false; //ofertaSector.AniosTrabajados = 7; //ofertaSector.EstadoOfertaSectorEmpresarial.IdListaValor = "AWE222"; ofertaSector.ModificadoPor = ticket.Usuario; LNOfertaSectorEmpresarial lnOfertaSector = new LNOfertaSectorEmpresarial(); lnOfertaSector.Actualizar(ofertaSector); List <OfertaSectorEmpresarial> lista = lnSector.ObtenerSectoresEmpresariales(ofertaSector.IdOferta, 0); ViewBag.IdOferta = ofertaSector.IdOferta; return(PartialView("_OfertaSectorEmpresarial", lista)); } //TODO: Validar cuando existe error al grabar. return(PartialView("_OfertaSectorEmpresarialEditar", ofertaSector)); }
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)); }
/// <summary> /// Método interno para completar los datos de la pantalla Oferta en Empresa. /// </summary> private PartialViewResult mensajeEmpresaOfertaNuevo(string pantalla) { ViewBag.Pantalla = pantalla; TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"]; //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(); VistaEmpresaOferta ofertaSeleccionada = listaOfertas.Where(m => m.IdOferta == IdOferta).FirstOrDefault(); //Se cargan en el ViewBag para ser consumidas desde el html. Se establece el valor del IdOferta. ViewBag.IdOfertaMensaje = new SelectList(listaOfertas, "IdOferta", "CargoOfrecido"); ViewBag.IdOfertaGeneral = IdOferta; Mensaje mensaje = new Mensaje(); mensaje.Pantalla = pantalla; mensaje.Asunto = ofertaSeleccionada.CargoOfrecido; //mensaje.ParaUsuario = ofertaSeleccionada.UsuarioPropietarioEmpresa; //mensaje.ParaUsuarioCorreoElectronico = ofertaSeleccionada.UsuarioPropietarioEmpresaCorreo; //mensaje.Oferta.CargoOfrecido = ofertaSeleccionada.CargoOfrecido; return(PartialView("_MensajesNuevo", mensaje)); }
public PartialViewResult _OfertaInformacionAdicionalEditar(OfertaInformacionAdicional ofertaInfoAdicional) { if (ModelState.IsValid) { TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"]; //ofertaInfo.IdOferta = 13; //ofertaInfo.TipoConocimiento.IdListaValor = "ABE22"; //ofertaInfo.Conocimiento = "conocimiento22"; //ofertaInfo.NivelConocimiento.IdListaValor = "ABC22"; //ofertaInfo.AniosExperiencia = 5; //ofertaInfo.EstadoOfertaInformacionAdicional.IdListaValor = "as22"; ofertaInfoAdicional.ModificadoPor = ticket.Usuario; LNOfertaInformacionAdicional lnOfertaInfo = new LNOfertaInformacionAdicional(); lnOfertaInfo.Actualizar(ofertaInfoAdicional); List <OfertaInformacionAdicional> lista = lnInfoAdicional.ObtenerInformacionAdicional(ofertaInfoAdicional.IdOferta, 0); ViewBag.IdOferta = ofertaInfoAdicional.IdOferta; return(PartialView("_OfertaInformacionAdicional", lista)); } else { //Código para ubicar los errores en el ModelState. var errors = ModelState.Select(x => x.Value.Errors) .Where(y => y.Count > 0) .ToList(); int a = 0; } return(PartialView("_OfertaInformacionAdicionalEditar", ofertaInfoAdicional)); }
public PartialViewResult _OfertaInformacionAdicionalCrear(OfertaInformacionAdicional ofertaInfoAdicional) { if (ModelState.IsValid) { TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"]; //ofertaInfo.IdOferta = ofertaInfo.IdOferta; //ofertaInfo.TipoConocimiento.IdListaValor = "ABE"; //Datos de prueba //ofertaInfo.Conocimiento = "conocimiento"; //Datos de prueba //ofertaInfo.NivelConocimiento.IdListaValor = "ABC"; //Datos de prueba //ofertaInfo.AniosExperiencia = 5; //Datos de prueba ofertaInfoAdicional.EstadoOfertaInformacionAdicional.IdListaValor = "OFOCAC"; //Estado oferta Informaciónn adicional Activo ofertaInfoAdicional.CreadoPor = ticket.Usuario; LNOfertaInformacionAdicional lnOfertaInfo = new LNOfertaInformacionAdicional(); lnOfertaInfo.Insertar(ofertaInfoAdicional); List <OfertaInformacionAdicional> lista = lnInfoAdicional.ObtenerInformacionAdicional(ofertaInfoAdicional.IdOferta, 0); ViewBag.IdOferta = ofertaInfoAdicional.IdOferta; return(PartialView("_OfertaInformacionAdicional", lista)); } return(PartialView("_OfertaInformacionAdicionalCrear", ofertaInfoAdicional)); }
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("")); }
public static string ObtenerRolEmpresa() { string valor = string.Empty; var currentSession = HttpContext.Current.Session; var myValue = currentSession["TicketEmpresa"]; TicketEmpresa ticketUtp = (TicketEmpresa)myValue; return(ticketUtp.Rol); }
public PartialViewResult _ObtenerMensajes(int id) { int idOferta = id; TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"]; //Se guarda el Id de la oferta ViewBag.IdOferta = idOferta; List <Mensaje> lista = lnMensaje.ObtenerPorIdEmpresaIdOferta(ticket.IdEmpresa, idOferta); return(PartialView("_ObtenerMensajes", lista)); }
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 })); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { TicketEmpresa ticket = (TicketEmpresa)filterContext.HttpContext.Session["TicketEmpresa"]; string[] listaRoles = Rol.Split(','); if (!listaRoles.Contains(ticket.Rol)) { //Si el usuario autenticado no pertenece al Rol del parámetro => se redirecciona a la página principal. filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Empresa", action = "Index" })); filterContext.Result.ExecuteResult(filterContext.Controller.ControllerContext); } //Caso contrario la ejecución continúa de manera normal. base.OnActionExecuting(filterContext); }
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)); } }
//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); }
/// <summary> /// Método interno para completar los datos de la pantalla Mi Cuenta en Empresa. /// </summary> private PartialViewResult mensajeEmpresaIndexNuevo(string pantalla) { ViewBag.Pantalla = pantalla; TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"]; //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. ViewBag.IdOfertaMensaje = new SelectList(listaOfertas, "IdOferta", "CargoOfrecido"); Mensaje mensaje = new Mensaje(); mensaje.Pantalla = pantalla; return(PartialView("_MensajesNuevo", mensaje)); }
public PartialViewResult _MensajeFormularioGrabar(Mensaje mensaje) { TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"]; mensaje.DeUsuario = ticket.Usuario; mensaje.DeUsuarioCorreoElectronico = ticket.CorreoElectronico; mensaje.ParaUsuarioCorreoElectronico = "*****@*****.**"; mensaje.FechaEnvio = DateTime.Now; mensaje.IdEvento = 0; mensaje.EstadoMensaje = "MSJNOL"; //Pendiente de ser leido mensaje.CreadoPor = ticket.Usuario; lnMensaje.Insertar(mensaje); List <Mensaje> lista = lnMensaje.ObtenerPorIdEmpresaIdOferta(ticket.IdEmpresa, mensaje.IdOferta); ViewBag.IdOferta = mensaje.IdOferta; return(PartialView("_ObtenerMensajes", lista)); }
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 PartialViewResult _OfertaEstudioCrear(OfertaEstudio ofertaEstudio) { //Aldo 09FEB: Si el tipo de estudio es distinto a universitario se reemplaza el campo EstudioTexto en Estudio //Si el campo TipoDeEstudioIdListaValor es TEUNIV entonces el dato de estudio sí se encuentra en ofertaEstudio.Estudio y no se necesita reemplazar. if (ofertaEstudio.TipoDeEstudioIdListaValor != Constantes.TIPO_ESTUDIO_UNIVERSITARIO) { ModelState.Remove("Estudio"); //Se quita el campo porque tiene null. ofertaEstudio.Estudio = ofertaEstudio.EstudioTexto; } if (ModelState.IsValid) { TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"]; //string usuarioCreacion = ticket.UsuarioNombre; //ofertaEstudio.IdOferta = 13; //ofertaEstudio.CicloEstudio = "AWE"; //ofertaEstudio.Estudio = "Estudios"; //ofertaEstudio.TipoDeEstudio.IdListaValor = "ABC"; //ofertaEstudio.EstadoDelEstudio.IdListaValor = "AWE"; ofertaEstudio.EstadoOfertaEstudio.IdListaValor = "OFESAC"; //Estado oferta estudio activa. ofertaEstudio.CreadoPor = ticket.Usuario; LNOfertaEstudio lnOfertaEstudio = new LNOfertaEstudio(); lnOfertaEstudio.Insertar(ofertaEstudio); List <OfertaEstudio> lista = lnOfertaEstudio.ObtenerEstudiosNoUniversitarios(ofertaEstudio.IdOferta, idOfertaEstudiosTodos); ViewBag.IdOferta = ofertaEstudio.IdOferta; return(PartialView("_OfertaEstudio", lista)); } else { var errors = ModelState.Select(x => x.Value.Errors) .Where(y => y.Count > 0) .ToList(); int a = 0; } return(PartialView("_OfertaEstudioCrear", ofertaEstudio)); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { TicketEmpresa ticket = (TicketEmpresa)filterContext.HttpContext.Session["TicketEmpresa"]; if (ticket.Rol == "ROLADM") //Rol administrador. { if (filterContext.Controller.TempData.ContainsKey("keyDemo")) { filterContext.Controller.TempData["keyDemo"] = "MensajeDemo"; } else { filterContext.Controller.TempData.Add("keyDemo", "MensajeDemo"); } filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Empresa", action = "Index" })); filterContext.Result.ExecuteResult(filterContext.Controller.ControllerContext); } base.OnActionExecuting(filterContext); }
private PartialViewResult mensajeEmpresaHuntingNuevo(string pantalla, string listaIdAlumnos) { ViewBag.Pantalla = pantalla; TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"]; LNOferta lnOferta = new LNOferta(); List <VistaEmpresaOferta> listaOfertas = lnOferta.ObtenerOfertasPorIdEmpresa(ticketEmpresa.IdEmpresa).Where(m => m.NombreEstado == "OFERAC").ToList(); //Activas. ViewBag.IdOfertaMensaje = new SelectList(listaOfertas, "IdOferta", "CargoOfrecido"); Mensaje mensaje = new Mensaje(); mensaje.DeUsuario = ticketEmpresa.Usuario; mensaje.DeUsuarioCorreoElectronico = ticketEmpresa.CorreoElectronico; mensaje.ParaUsuario = lnMensaje.ObtenerListaAlumnosHunting(listaIdAlumnos); //Se guarda la lista de ids en esta propiedad. mensaje.ParaUsuarioNombre = lnMensaje.ObtenerListaAlumnosHunting(listaIdAlumnos); //Se guarda la lista de ids en esta propiedad. mensaje.ParaUsuarioCorreoElectronico = listaIdAlumnos; mensaje.Pantalla = pantalla; mensaje.CreadoPor = ticketEmpresa.Usuario; return(PartialView("_MensajesNuevo", mensaje)); }
private PartialViewResult mensajeUTPOfertaNuevo(string pantalla) { ViewBag.Pantalla = pantalla; TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"]; //1. Obtener ofertas activas de la empresa. LNOferta lnOferta = new LNOferta(); //Se obtiene el IdEmpresa de la oferta. int idEmpresa = lnMensaje.ObtenerIdEmpresaPorIdOferta(IdOferta); //Se obtiene las ofertas de la empresa y se selecciona solo una oferta. List <VistaEmpresaOferta> listaOfertas = lnOferta.ObtenerOfertasPorIdEmpresa(idEmpresa).Where(m => m.IdOferta == IdOferta).ToList(); //Se cargan en el ViewBag para ser consumidas desde el html. Se establece el valor del IdOferta. ViewBag.IdOfertaMensaje = new SelectList(listaOfertas, "IdOferta", "CargoOfrecido", IdOferta); ViewBag.IdOfertaGeneral = IdOferta; Mensaje mensaje = new Mensaje(); mensaje.Pantalla = pantalla; VistaEmpresaOferta ofertaSeleccionada = listaOfertas.Where(m => m.IdOferta == IdOferta).FirstOrDefault(); mensaje.Asunto = ofertaSeleccionada == null ? "" : ofertaSeleccionada.CargoOfrecido; mensaje.ParaUsuario = ofertaSeleccionada.UsuarioPropietarioEmpresa; mensaje.ParaUsuarioNombre = ofertaSeleccionada.UsuarioPropietarioEmpresa; mensaje.ParaUsuarioCorreoElectronico = ofertaSeleccionada.UsuarioPropietarioEmpresaCorreo; mensaje.IdOfertaMensaje = IdOferta; //Se establece el IdOferta enviado como parámetro //Hay que llenar el combo de destinatarios con los postulantes y el usuario empresa de la oferta. return(PartialView("_MensajesNuevo", mensaje)); }
public ActionResult CambiarEstadoPostulante(int idOfertaPostulante, string faseOferta) { TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"]; LNOferta lnOferta = new LNOferta(); List <OfertaPostulante> lista = new List <OfertaPostulante>(); OfertaPostulante ofertaPostulante = new OfertaPostulante(); ofertaPostulante.IdOfertaPostulante = idOfertaPostulante; ofertaPostulante.ModificadoPor = ticket.Usuario; ofertaPostulante.Seleccionado = true; //Valor agregado por compatibilidad con otro proceso. Se coloca True para indicar que Sí debe actualizar el campo. lista.Add(ofertaPostulante); lnOferta.ActualizarFaseDePostulantes(lista, faseOferta); //Se obtiene la descripción de la oferta: LNGeneral lnGeneral = new LNGeneral(); ListaValor listaValorFase = lnGeneral.ObtenerListaValor(Constantes.IDLISTA_FASE_OFERTA).Where(m => m.IdListaValor == faseOferta).FirstOrDefault(); //Se retorna la descripción de la fase seleccionada. return(Content(listaValorFase.DescripcionValor)); }
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))); }
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 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")); }