示例#1
0
        /// <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(""));
        }
示例#2
0
        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));
        }
示例#3
0
        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));
        }
示例#4
0
        /// <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(""));
        }
示例#7
0
        public JsonResult ObtenerPostulantesPorOferta(int idOferta)
        {
            LNOferta lnOferta = new LNOferta();

            List <OfertaPostulante> postulantes = new List <OfertaPostulante>();

            postulantes = lnOferta.ObtenerPostulantesPorIdOferta(idOferta);

            return(Json(postulantes, JsonRequestBehavior.AllowGet));
        }
示例#8
0
        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));
        }
示例#9
0
        /// <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));
        }
示例#10
0
        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));
        }
示例#12
0
        public PartialViewResult _MensajesResponder(string pantalla, int idMensaje)
        {
            Mensaje mensajeBase      = lnMensaje.ObtenerPorIdMensaje(idMensaje); //Este es el mensaje original.
            Mensaje mensajeRespuesta = new Mensaje();

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

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

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

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

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

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

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

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

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

            ViewBag.Pantalla = pantalla;

            return(PartialView("_MensajesResponder", mensajeRespuesta));
        }