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("");
        }
Пример #2
0
        /// <summary>
        /// Actualizar el estado de la oferta a finalizado si se cumplen las siguientes condiciones:
        /// 1. La oferta está activa.
        /// 2. La fecha de fin de recepción de cv es mayor a la fecha actual.
        /// </summary>
        public void FinalizarOfertasPorFechaDeRecepcion()
        {
            DataTable dtOfertas = adGeneral.FinalizarOfertaPorFechaCV();
            LNOferta  lnOferta  = new LNOferta();

            foreach (DataRow fila in dtOfertas.Rows)
            {
                int idOferta = Convert.ToInt32(fila["IdOferta"]);

                DataTable dtDatos       = lnOferta.ObtenerDatosParaMensaje(Convert.ToInt32(idOferta));
                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   = ConfigurationManager.AppSettings["OfertaCorreoRemitente"];
                mensaje.ParaUsuarioCorreoElectronico = para;
                mensaje.MensajeTexto = "La oferta " + nombreOferta + " ha finalizado";
                mensaje.Asunto       = nombreOferta + " - Oferta Finalizada";
                LNCorreo.EnviarCorreo(mensaje);
            }
        }
Пример #3
0
        /// <summary>
        /// Actualizar el estado de la oferta a finalizado si se cumplen las siguientes condiciones:
        /// 1. La oferta está activa.
        /// 2. La fecha de fin de recepción de cv es mayor a la fecha actual.
        /// </summary>
        public void FinalizarOfertasPorFechaDeRecepcion()
        {
            DataTable dtOfertas = adGeneral.FinalizarOfertaPorFechaCV();
            LNOferta lnOferta = new LNOferta();

            foreach (DataRow fila in dtOfertas.Rows)
            {
                int idOferta = Convert.ToInt32(fila["IdOferta"]);

                DataTable dtDatos = lnOferta.ObtenerDatosParaMensaje(Convert.ToInt32(idOferta));
                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 = ConfigurationManager.AppSettings["OfertaCorreoRemitente"];
                mensaje.ParaUsuarioCorreoElectronico = para;
                mensaje.MensajeTexto = "La oferta " + nombreOferta + " ha finalizado";
                mensaje.Asunto = nombreOferta + " - Oferta Finalizada";
                LNCorreo.EnviarCorreo(mensaje);

            }
        }