/// <summary> /// Acción que devuelve la vista de la oferta desde la perspectiva del alumno /// En esta llamada no existe alumno. /// </summary> /// <param name="id">idOferta</param> /// <returns></returns> public ActionResult VerOferta(string crypt) { int id = Convert.ToInt32(Helper.Desencriptar(crypt)); LNAlumno lnAlumno = new LNAlumno(); LNOferta lnOferta = new LNOferta(); VistaOfertaAlumno vistaofertalumno = new VistaOfertaAlumno(); vistaofertalumno = lnOferta.OfertaAlumnoPostulacion((int)id, -1); //Se manda -1 porque no existe alumno en esta vista. if (vistaofertalumno.Oferta != null && vistaofertalumno.Oferta.IdEmpresa > 0) { //Periodo Publicacion if (vistaofertalumno.Oferta.Postulacion == 0) { List <SelectListItem> listItemsAlumnoCV = new List <SelectListItem>(); foreach (AlumnoCV entidad in vistaofertalumno.ListaAlumnoCV) { SelectListItem item = new SelectListItem(); item.Text = entidad.NombreCV.ToString(); item.Value = entidad.IdCV.ToString(); listItemsAlumnoCV.Add(item); } ViewBag.ListaAlumnoCV = listItemsAlumnoCV; } return(View(vistaofertalumno)); } return(Content("")); }
public JsonResult ObtenerDestinatariosUTPOferta(int idOferta) { LNOferta lnOferta = new LNOferta(); List <OfertaPostulante> postulantes = new List <OfertaPostulante>(); postulantes = lnOferta.ObtenerPostulantesPorIdOferta(idOferta); VistaMensajeUsuarioEmpresaOferta oferta = lnMensaje.ObtenerUsuarioEmpresaOfertaPorId(idOferta); List <VistaMensajeDestinatario> destinatarios = new List <VistaMensajeDestinatario>(); //Se agregan a los postulantes: foreach (var postulante in postulantes) { VistaMensajeDestinatario destinatario = new VistaMensajeDestinatario(); destinatario.Usuario = postulante.Usuario; destinatario.Correo = postulante.CorreoElectronico; destinatario.TextoAMostrar = postulante.Usuario + " (" + postulante.CorreoElectronico + ")"; destinatarios.Add(destinatario); } //Se agrega al usuario de la oferta: VistaMensajeDestinatario destinatarioOferta = new VistaMensajeDestinatario(); destinatarioOferta.Usuario = oferta.UsuarioPropietarioEmpresa; destinatarioOferta.Correo = oferta.UsuarioPropietarioEmpresaCorreo; destinatarioOferta.TextoAMostrar = oferta.UsuarioPropietarioEmpresa + " (" + oferta.UsuarioPropietarioEmpresaCorreo + ")"; destinatarios.Add(destinatarioOferta); return(Json(postulantes, JsonRequestBehavior.AllowGet)); }
private PartialViewResult mensajeAlumnoOfertaNuevo(string pantalla) { ViewBag.Pantalla = pantalla; //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 sólo la oferta enviada como parámetro. 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; return(PartialView("_MensajesNuevo", mensaje)); }
/// <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 ActionResult AsignarUsuario(string idOferta, string usuario) { LNOferta lnOferta = new LNOferta(); lnOferta.AsignarUsuario(Convert.ToInt32(idOferta), usuario); //No debe retornar vistas. return(Content("")); }
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 JsonResult ObtenerPostulantesPorOferta(int idOferta) { LNOferta lnOferta = new LNOferta(); List <OfertaPostulante> postulantes = new List <OfertaPostulante>(); postulantes = lnOferta.ObtenerPostulantesPorIdOferta(idOferta); return(Json(postulantes, JsonRequestBehavior.AllowGet)); }
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)); }
/// <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)); }
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)); }
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 _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)); }