Ejemplo n.º 1
0
        private void EnviarCorreosFallo(int pID_PERIODO, string validacion, string correo, string evaluador)
        {
            ProcesoExterno pe = new ProcesoExterno();
            string         vClCorreo;
            string         vNbEvaluador;
            string         vMensaje      = "";
            string         vDsMensajeE   = ContextoApp.EO.Configuracion.MensajeBajaReplica.dsMensaje;
            string         vDsMensajeME  = ContextoApp.EO.Configuracion.MensajeBajaNotificador.dsMensaje;
            string         vDsMensajeEv  = ContextoApp.EO.Configuracion.MensajeBajaReplica.dsMensaje;
            string         vDsMensajeMEv = ContextoApp.EO.Configuracion.MensajeBajaNotificador.dsMensaje;


            if (validacion == "SI_HAY_IMPORTANTE_EVALUADOR")
            {
                vMensaje = vDsMensajeE;
            }
            else if (validacion == "SI_HAY_M_IMPORTANTE_EVALUADOR")
            {
                vMensaje = vDsMensajeME;
            }
            else if (validacion == "SI_HAY_IMPORTANTE_EVALUADO")
            {
                vMensaje = vDsMensajeEv;
            }
            else if (validacion == "ENVIO_CORREO_M_IMPORTANTE_EVALUADO")
            {
                vMensaje = vDsMensajeMEv;
            }

            PeriodoDesempenoNegocio nPeriodo = new PeriodoDesempenoNegocio();
            var vDatosPeriodo = nPeriodo.ObtienePeriodosDesempeno(pID_PERIODO).FirstOrDefault();

            vClCorreo    = correo;
            vNbEvaluador = evaluador;

            if (vClCorreo != null)
            {
                if (Utileria.ComprobarFormatoEmail(vClCorreo))
                {
                    vMensaje = vMensaje.Replace("[NB_PERSONA]", vNbEvaluador);
                    vMensaje = vMensaje.Replace("[CL_PERIODO]", vDatosPeriodo.NB_PERIODO);

                    //Envío de correo
                    bool vEstatusCorreo = pe.EnvioCorreo(vClCorreo, vNbEvaluador, "Período de desempeño " + vDatosPeriodo.NB_PERIODO, vMensaje);
                }
            }
        }
        private void EnviarCorreosFallo(string validacion, string correo, string evaluador)
        {
            ProcesoExterno pe = new ProcesoExterno();
            string         vClCorreo;
            string         vNbEvaluador;

            if (validacion == "NO_HAY_M_IMPORTANTE_EVALUADOR" || validacion == "NO_HAY_M_IMPORTANTE_EVALUADO")
            {
                UtilMensajes.MensajeResultadoDB(rwmMensaje, "No hay personas para notificar el problema ocurrido, revisa la configuración del período", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
                return;
            }
            else if (validacion == "SI_HAY_IMPORTANTE_EVALUADOR")
            {
                vMensaje = vDsMensajeE;
            }
            else if (validacion == "SI_HAY_M_IMPORTANTE_EVALUADOR")
            {
                vMensaje = vDsMensajeME;
            }
            else if (validacion == "SI_HAY_IMPORTANTE_EVALUADO")
            {
                vMensaje = vDsMensajeEv;
            }
            else if (validacion == "ENVIO_CORREO_M_IMPORTANTE_EVALUADO")
            {
                vMensaje = vDsMensajeMEv;
            }

            PeriodoDesempenoNegocio nPeriodo = new PeriodoDesempenoNegocio();
            var vDatosPeriodo = nPeriodo.ObtienePeriodosDesempeno(vIdPeriodo).FirstOrDefault();

            vClCorreo    = correo;
            vNbEvaluador = evaluador;

            if (Utileria.ComprobarFormatoEmail(vClCorreo))
            {
                vMensaje = vMensaje.Replace("[NB_PERSONA]", vNbEvaluador);
                vMensaje = vMensaje.Replace("[CL_PERIODO]", vDatosPeriodo.NB_PERIODO);

                //Envío de correo
                bool vEstatusCorreo = pe.EnvioCorreo(vClCorreo, vNbEvaluador, "Período de desempeño " + vDatosPeriodo.NB_PERIODO, vMensaje);
                if (vEstatusCorreo)
                {
                    UtilMensajes.MensajeResultadoDB(rwmMensaje, "Ha ocurrido un problema en el período. Se ha enviado un correo a la persona que recibe las notificaciones", E_TIPO_RESPUESTA_DB.WARNING, 400, 200, pCallBackFunction: "");
                }
            }
        }
Ejemplo n.º 3
0
        private void EnviarCorreoImportate(string correo, string NombreBajaNotificado)
        {
            ProcesoExterno pe = new ProcesoExterno();
            string         vClCorreo;
            string         vNbBajaNotificado;
            string         vMensaje;

            vClCorreo         = correo;
            vNbBajaNotificado = NombreBajaNotificado;
            vMensaje          = "Estimado " + NombreBajaNotificado + " ,la persona configurada para recibir las notificaciones de los periodos de desempeño, ha sido dado de baja";

            if (Utileria.ComprobarFormatoEmail(vClCorreo) && (vClCorreo != null || vClCorreo == ""))
            {
                //Envío de correo
                bool vEstatusCorreo = pe.EnvioCorreo(vClCorreo, vNbBajaNotificado, "Configuración Desempeño ", vMensaje);
            }
        }
        private void EnviarCorreo()
        {
            ProcesoExterno pe    = new ProcesoExterno();
            string         myUrl = ResolveUrl("~/Logon.aspx?ClProceso=EVALUACION&FlProceso=");
            string         vUrl  = ContextoUsuario.nbHost + myUrl + oEvento.FL_EVENTO;

            vMensajeCorreo = vMensajeCorreo.Replace("[URL]", vUrl);
            vMensajeCorreo = vMensajeCorreo.Replace("[contraseña]", oEvento.CL_TOKEN);

            bool vEstatusCorreo = pe.EnvioCorreo(txtCorreo.Text, oEvento.NB_EVALUADOR, "Evaluación de evento", vMensajeCorreo);

            if (vEstatusCorreo)
            {
                UtilMensajes.MensajeResultadoDB(rwmMensaje, "Correo enviado con éxito.", E_TIPO_RESPUESTA_DB.SUCCESSFUL);
            }
            else
            {
                UtilMensajes.MensajeResultadoDB(rwmMensaje, "Error al enviar el correo.", E_TIPO_RESPUESTA_DB.ERROR);
            }
        }
        private void EnviarCorreo(bool pFgEnviarTodos)
        {
            ProcesoExterno     pe = new ProcesoExterno();
            int                vNoCorreosEnviados = 0;
            int                vNoTotalCorreos    = 0;
            int                vIdEvaluador;
            string             vClCorreo;
            string             vNbEvaluador;
            string             myUrl             = ResolveUrl("~/Logon.aspx?ClProceso=DESEMPENO");
            string             vUrl              = ContextoUsuario.nbHost + myUrl;
            GridItemCollection oListaEvaluadores = new GridItemCollection();
            XElement           vXmlEvaluados     = new XElement("EVALUADORES");

            vIdPeriodoNoEnviado = null;


            if (pFgEnviarTodos)
            {
                oListaEvaluadores = rgCorreos.Items;
            }
            else
            {
                oListaEvaluadores = rgCorreos.SelectedItems;
            }

            //vNoTotalCorreos = oListaEvaluadores.Count;

            foreach (GridDataItem item in oListaEvaluadores)
            {
                int vIdPeriodoMasteTable;
                // bool vFgNoenviado;
                string vMensaje = vDsMensaje;
                vClCorreo            = (item.FindControl("txtCorreo") as RadTextBox).Text;
                vNbEvaluador         = item["NB_EVALUADOR"].Text;
                vIdEvaluador         = int.Parse(item.GetDataKeyValue("ID_EVALUADOR").ToString());
                vIdPeriodoMasteTable = int.Parse(item.GetDataKeyValue("ID_PERIODO").ToString());

                if (vFgMasiva)
                {
                    PeriodoDesempenoNegocio nPeriodo = new PeriodoDesempenoNegocio();
                    var vPeriododDesempeno           = nPeriodo.ObtienePeriodosDesempeno(pIdPeriodo: int.Parse(item.GetDataKeyValue("ID_PERIODO").ToString())).FirstOrDefault();
                    var resultado = nPeriodo.InsertaActualiza_PERIODO(vPeriododDesempeno.ID_PERIODO_DESEMPENO, vPeriododDesempeno.CL_PERIODO, vPeriododDesempeno.NB_PERIODO, vPeriododDesempeno.DS_PERIODO, vPeriododDesempeno.CL_ESTADO_PERIODO, vPeriododDesempeno.DS_NOTAS.ToString(), vPeriododDesempeno.FE_INICIO, (DateTime)vPeriododDesempeno.FE_TERMINO, vPeriododDesempeno.CL_TIPO_CAPTURISTA, vPeriododDesempeno.CL_TIPO_METAS, vClUsuario, vNbPrograma, "A", btnCapturaMasivaYes.Checked);
                }

                DateTime vFechaEnvio = Convert.ToDateTime(item.GetDataKeyValue("FE_ENVIO_SOLICITUD").ToString());
                if (vFechaEnvio.Date == DateTime.Now.Date)
                {
                    vNoTotalCorreos = vNoTotalCorreos + 1;
                    if (Utileria.ComprobarFormatoEmail(vClCorreo))
                    {
                        if (item.GetDataKeyValue("FL_EVALUADOR") != null)
                        {
                            if (item.GetDataKeyValue("CL_TOKEN") != null)
                            {
                                vMensaje = vMensaje.Replace("[NB_EVALUADOR]", vNbEvaluador);
                                vMensaje = vMensaje.Replace("[URL]", vUrl + "&FlProceso=" + item.GetDataKeyValue("FL_EVALUADOR").ToString());
                                vMensaje = vMensaje.Replace("[CONTRASENA]", item.GetDataKeyValue("CL_TOKEN").ToString());

                                //Envío de correo
                                bool vEstatusCorreo = pe.EnvioCorreo(vClCorreo, vNbEvaluador, "Solicitud para calificar metas", vMensaje);



                                if (vEstatusCorreo)
                                {
                                    vXmlEvaluados.Add(new XElement("EVALUADOR", new XAttribute("ID_EVALUADOR", vIdEvaluador), new XAttribute("CL_CORREO_ELECTRONICO", vClCorreo)));
                                    vNoCorreosEnviados++;
                                    (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.White;
                                    (item.FindControl("txtCorreo") as RadTextBox).HoveredStyle.BackColor = System.Drawing.Color.White;
                                    if (vIdPeriodoNoEnviado != vIdPeriodoMasteTable)
                                    {
                                        InsertaEstatusEnvio(true, vIdPeriodoMasteTable);
                                    }
                                }
                                else
                                {
                                    (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.Gold;
                                    vIdPeriodoNoEnviado = vIdPeriodoMasteTable;
                                    InsertaEstatusEnvio(false, vIdPeriodoMasteTable);
                                }
                            }

                            else
                            {
                                (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.Gold;
                                vIdPeriodoNoEnviado = vIdPeriodoMasteTable;
                                InsertaEstatusEnvio(false, vIdPeriodoMasteTable);
                            }
                        }
                        else
                        {
                            (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.Gold;
                            vIdPeriodoNoEnviado = vIdPeriodoMasteTable;
                            InsertaEstatusEnvio(false, vIdPeriodoMasteTable);
                        }
                    }
                    else
                    {
                        (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.Gold;
                        vIdPeriodoNoEnviado = vIdPeriodoMasteTable;
                        InsertaEstatusEnvio(false, vIdPeriodoMasteTable);
                    }
                }
            }

            if (vNoTotalCorreos == vNoCorreosEnviados)
            {
                UtilMensajes.MensajeResultadoDB(rwmMensaje, "Los correos han sido enviados con éxito.", E_TIPO_RESPUESTA_DB.SUCCESSFUL);
            }
            else
            {
                UtilMensajes.MensajeResultadoDB(rwmMensaje, "Se enviaron " + vNoCorreosEnviados.ToString() + " correos de " + vNoTotalCorreos.ToString() + " en total.", E_TIPO_RESPUESTA_DB.SUCCESSFUL, pCallBackFunction: "");
            }
        }
Ejemplo n.º 6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (Request.QueryString["ClProceso"] != null)
                {
                    pe = new ProcesoExterno();
                    //En esta parte tiene que procesar los datos para el proceso externo. Vamos a obtener el proceso, el Guid, en base al proceso es el div que se mostrara.
                    //Se hara una funcion para mostrar los divs

                    vClProceso    = Request.QueryString["ClProceso"];
                    vFolioProceso = Guid.Parse(Request.QueryString["FlProceso"]);
                }


                if ((Request.QueryString["AUTORIZA"]) != null)
                {
                    ptipo = (string)(Request.QueryString["AUTORIZA"]);
                    pFolioAutorizacion = Guid.Parse((Request.QueryString["TOKEN"]));
                    DocumentoAutorizarNegocio nDocumento = new DocumentoAutorizarNegocio();
                    var DocumentoAutorizar = nDocumento.ObtieneEmpleadoDocumentoAutorizacion(pFlAutorizacion: pFolioAutorizacion).Where(w => w.ID_PERIODO != null).FirstOrDefault();

                    if (DocumentoAutorizar != null)
                    {
                        if (DocumentoAutorizar.ID_PROGRAMA != null)
                        {
                            txtProgramaCapacitacion.Text = DocumentoAutorizar.NB_PROGRAMA.ToString();
                            vIdPrograma = DocumentoAutorizar.ID_PROGRAMA;
                            txtProgramaCapacitacion.ReadOnly = true;
                            txtAutorizador.ReadOnly          = true;
                        }
                        else
                        {
                            txtProgramaCapacitacion.Text = DocumentoAutorizar.NB_PERIODO;
                            vIdPeriodo = DocumentoAutorizar.ID_PERIODO;
                            txtProgramaCapacitacion.ReadOnly = true;
                            txtAutorizador.ReadOnly          = true;
                        }

                        //txtAutorizador.Text = DocumentoAutorizar.NB_EMPLEADO_ELABORA.ToString();
                        txtAutorizador.Text = DocumentoAutorizar.NB_EMPLEADO.ToString();
                        pClaveToken         = DocumentoAutorizar.CL_TOKEN.ToString();
                    }
                    ContentAutorizaDocumentos.Visible = true;
                    ContentLogin.Visible                     = false;
                    ContentPasswordRecovery.Visible          = false;
                    ContentCodigoConfirmacion.Visible        = false;
                    ContentEvaluacionResultados.Visible      = false;
                    ContentCuestionarios.Visible             = false;
                    ContentClimaLaboral.Visible              = false;
                    ContentCartera.Visible                   = false;
                    ContentEntrevista.Visible                = false;
                    ContentRequisiciones.Visible             = false;
                    ContentAutorizaRequisicion.Visible       = false;
                    ContentEvaluacionDesempeno.Visible       = false;
                    ContentAutorizaPuestoRequisicion.Visible = false;
                    ContentCuestionario.Visible              = false;
                }
                else
                {
                    ContentPasswordRecovery.Visible     = false;
                    ContentCodigoConfirmacion.Visible   = false;
                    ContentAutorizaDocumentos.Visible   = false;
                    ContentEvaluacionResultados.Visible = false;
                    ContentCuestionarios.Visible        = false;
                    ContentClimaLaboral.Visible         = false;
                    ContentCartera.Visible                   = false;
                    ContentEntrevista.Visible                = false;
                    ContentRequisiciones.Visible             = false;
                    ContentAutorizaRequisicion.Visible       = false;
                    ContentEvaluacionDesempeno.Visible       = false;
                    ContentAutorizaPuestoRequisicion.Visible = false;
                    ContentCuestionario.Visible              = false;
                }

                mostrarDiv();
                FgLicenciaActiva();
            }

            PlantillaFormularioNegocio nPlantilla = new PlantillaFormularioNegocio();
            List <SPE_OBTIENE_C_PLANTILLAS_EXTERNAS_Result> vLstPlantillas = nPlantilla.ObtenerPlantillasExternas("EXTERIOR");

            foreach (var item in vLstPlantillas)
            {
                HtmlGenericControl viSolicitud = new HtmlGenericControl("i");
                viSolicitud.Attributes.Add("class", "fa fa-file-text");
                HtmlGenericControl vControlSolicitud = new HtmlGenericControl("a");
                vControlSolicitud.Attributes.Add("href", "#");
                vControlSolicitud.Attributes.Add("onclick", "return OpenWindowPlantilla(" + item.ID_PLANTILLA_SOLICITUD.ToString() + ");");
                vControlSolicitud.Attributes.Add("style", "margin: 20px;");
                vControlSolicitud.InnerText = item.NB_PLANTILLA_SOLICITUD;
                vControlSolicitud.Style.Add("font-size", "14px");
                vControlSolicitud.Style.Add(" font-family", "sans-serif");
                viSolicitud.Controls.Add(vControlSolicitud);
                dvSolicitudes.Controls.Add(viSolicitud);
            }
            if (vLstPlantillas.Count > 1)
            {
                int vTamanoDiv = vLstPlantillas.Count * 35;
                dvSolicitudes.Style.Add("height", vTamanoDiv.ToString() + "px");
            }

            lblEmpresa.InnerText           = ContextoApp.InfoEmpresa.NbEmpresa;
            rbiLogoOrganizacion1.DataValue = ContextoApp.InfoEmpresa.FiLogotipo.FiArchivo;
            rbiLogoOrganizacion2.DataValue = ContextoApp.InfoEmpresa.FiLogotipo.FiArchivo;
            rbiLogoOrganizacion3.DataValue = ContextoApp.InfoEmpresa.FiLogotipo.FiArchivo;

            //Licencia
            if (ContextoApp.InfoEmpresa.MsgSistema != "1")
            {
                btnLogin.Enabled                          = false;
                btnRecuperarPassword.Enabled              = false;
                btnAbrirCuestionario.Enabled              = false;
                btnAbrirCuestionarioClima.Enabled         = false;
                btnAbrirCuestionarioDesempeno.Enabled     = false;
                btnAbrirCuestionarioIndependiente.Enabled = false;
                btnAbrirEntrevista.Enabled                = false;
                btnAbrirEvaluacion.Enabled                = false;
                btnAbrirRequisicion.Enabled               = false;
                btnAutorizarReqPuesto.Enabled             = false;
                btnCartera.Enabled                        = false;
                btnConfirmarCodigo.Enabled                = false;
                btnEnviarPorCuenta.Enabled                = false;
                btnIntroducirCodigo.Enabled               = false;
                btnSiguiente.Enabled                      = false;
                UtilMensajes.MensajeResultadoDB(RadWindowManager1, ContextoApp.InfoEmpresa.MsgSistema, E_TIPO_RESPUESTA_DB.WARNING);
            }
            // Fin de licencia
        }
        private void EnviarCorreo(bool pFgEnviarTodos)
        {
            ProcesoExterno pe = new ProcesoExterno();

            int                vNoCorreosEnviados = 0;
            int                vNoTotalCorreos    = 0;
            int                vIdEvaluador;
            string             vClCorreo;
            string             vNbEvaluador;
            string             myUrl             = ResolveUrl("~/Logon.aspx?ClProceso=CUESTIONARIOS");
            string             vUrl              = ContextoUsuario.nbHost + myUrl;
            GridItemCollection oListaEvaluadores = new GridItemCollection();
            XElement           vXmlEvaluados     = new XElement("EVALUADORES");

            if (pFgEnviarTodos)
            {
                oListaEvaluadores = rgEvaluadores.Items;
            }
            else
            {
                oListaEvaluadores = rgEvaluadores.SelectedItems;
            }

            vNoTotalCorreos = oListaEvaluadores.Count;

            foreach (GridDataItem item in oListaEvaluadores)
            {
                string vMensaje = vDsMensaje;
                vClCorreo    = (item.FindControl("txtCorreo") as RadTextBox).Text;
                vNbEvaluador = item["NB_EVALUADOR"].Text;
                vIdEvaluador = int.Parse(item.GetDataKeyValue("ID_EVALUADOR").ToString());

                if (Utileria.ComprobarFormatoEmail(vClCorreo))
                {
                    if (item.GetDataKeyValue("FL_EVALUADOR") != null)
                    {
                        vMensaje = vMensaje.Replace("[nombre]", vNbEvaluador);
                        vMensaje = vMensaje.Replace("[URL]", vUrl + "&FlProceso=" + item.GetDataKeyValue("FL_EVALUADOR").ToString());
                        vMensaje = vMensaje.Replace("[contrase&ntilde;a]", item.GetDataKeyValue("CL_TOKEN").ToString());

                        //bool vEstatusCorreo = pe.EnvioCorreo("*****@*****.**", item.NB_EVALUADOR, "Cuestionarios para evaluación", vMensaje);

                        bool vEstatusCorreo = pe.EnvioCorreo(vClCorreo, vNbEvaluador, "Cuestionarios para evaluación", vMensaje);

                        if (vEstatusCorreo)
                        {
                            vXmlEvaluados.Add(new XElement("EVALUADOR", new XAttribute("ID_EVALUADOR", vIdEvaluador), new XAttribute("CL_CORREO_ELECTRONICO", vClCorreo)));
                            vNoCorreosEnviados++;

                            (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.White;
                            (item.FindControl("txtCorreo") as RadTextBox).HoveredStyle.BackColor = System.Drawing.Color.White;
                        }
                        else
                        {
                            (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.Gold;
                        }
                    }
                    else
                    {
                        (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.Gold;
                    }
                }
                else
                {
                    (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.Gold;
                }
            }

            if (vXmlEvaluados.Elements("EVALUADOR").Count() > 0)
            {
                ActualizaCorreoEvaluador(vXmlEvaluados.ToString());
            }


            if (vNoTotalCorreos == vNoCorreosEnviados)
            {
                UtilMensajes.MensajeResultadoDB(rwmMensaje, "Los correos han sido enviados con éxito.", E_TIPO_RESPUESTA_DB.SUCCESSFUL);
            }
            else
            {
                UtilMensajes.MensajeResultadoDB(rwmMensaje, "Se enviaron " + vNoCorreosEnviados.ToString() + " correos de " + vNoTotalCorreos.ToString() + " en total.", E_TIPO_RESPUESTA_DB.SUCCESSFUL, pCallBackFunction: "");
            }
        }
Ejemplo n.º 8
0
        private void EnviarCorreo(bool pFgEnviarTodos)
        {
            ProcesoExterno     pe                 = new ProcesoExterno();
            bool               vEstatusCorreo     = false;
            bool               vAlertaBaja        = false;
            int                vNoCorreosEnviados = 0;
            int                vNoTotalCorreos    = 0;
            int                vIdEvaluador;
            string             vClCorreo;
            string             vNbEvaluador;
            string             myUrl             = ResolveUrl("~/Logon.aspx?ClProceso=DESEMPENO");
            string             vUrl              = ContextoUsuario.nbHost + myUrl;
            GridItemCollection oListaEvaluadores = new GridItemCollection();
            XElement           vXmlEvaluados     = new XElement("EVALUADORES");
            List <int>         ListaBaja         = new List <int>();

            if (vFgMasiva)
            {
                PeriodoDesempenoNegocio nPeriodo = new PeriodoDesempenoNegocio();
                var vPeriododDesempeno           = nPeriodo.ObtienePeriodosDesempeno(pIdPeriodo: vIdPeriodo).FirstOrDefault();
                var resultado = nPeriodo.InsertaActualiza_PERIODO(vPeriododDesempeno.ID_PERIODO_DESEMPENO, vPeriododDesempeno.CL_PERIODO, vPeriododDesempeno.NB_PERIODO, vPeriododDesempeno.DS_PERIODO, vPeriododDesempeno.CL_ESTADO_PERIODO, vPeriododDesempeno.DS_NOTAS.ToString(), vPeriododDesempeno.FE_INICIO, (DateTime)vPeriododDesempeno.FE_TERMINO, vPeriododDesempeno.CL_TIPO_CAPTURISTA, vPeriododDesempeno.CL_TIPO_METAS, vClUsuario, vNbPrograma, "A", btnCapturaMasivaYes.Checked);
            }


            if (string.IsNullOrEmpty(vDsMensaje))
            {
                UtilMensajes.MensajeResultadoDB(rwmMensaje, "El mensaje para el correo electrónico de las solicitudes no está definido. Por favor, configura el mensaje para poder enviar los correos. Los correos no fueron enviados.", E_TIPO_RESPUESTA_DB.WARNING, pAlto: 200);
                return;
            }

            if (pFgEnviarTodos)
            {
                oListaEvaluadores = rgCorreos.Items;
            }
            else
            {
                oListaEvaluadores = rgCorreos.SelectedItems;
            }

            vNoTotalCorreos = oListaEvaluadores.Count;

            foreach (GridDataItem item in oListaEvaluadores)
            {
                string vMensaje = vDsMensaje;

                vClCorreo    = (item.FindControl("txtCorreo") as RadTextBox).Text;
                vNbEvaluador = item["NB_EVALUADOR"].Text;
                vIdEvaluador = int.Parse(item.GetDataKeyValue("ID_EVALUADOR").ToString());

                if (Utileria.ComprobarFormatoEmail(vClCorreo))
                {
                    if (item.GetDataKeyValue("FL_EVALUADOR") != null)
                    {
                        if (item.GetDataKeyValue("CL_TOKEN") != null)
                        {
                            vMensaje = vMensaje.Replace("[NB_EVALUADOR]", vNbEvaluador);

                            vMensaje = vMensaje.Replace("[URL]", vUrl + "&FlProceso=" + item.GetDataKeyValue("FL_EVALUADOR").ToString());
                            vMensaje = vMensaje.Replace("[CONTRASENA]", item.GetDataKeyValue("CL_TOKEN").ToString());

                            //Envío de correo


                            PeriodoDesempenoNegocio nPeriodoE = new PeriodoDesempenoNegocio();

                            var Evaluado_baja = nPeriodoE.ObtenerEvaluadoresPeriodo(vIdPeriodo, vIdRol).Where(w => w.ID_EVALUADOR == vIdEvaluador).FirstOrDefault();
                            if (Evaluado_baja.CL_ESTADO_EMPLEADO == "BAJA")
                            {
                                if (oListaEvaluadores.Count == 1)
                                {
                                    vAlertaBaja    = true;
                                    vEstatusCorreo = false;
                                    UtilMensajes.MensajeResultadoDB(rwmMensaje, "El evaluador es un empelado dado de baja, por lo que no podrá recibir el correo.", E_TIPO_RESPUESTA_DB.WARNING, 400, 200, pCallBackFunction: "");
                                }
                                else
                                {
                                    ListaBaja.Add(vIdEvaluador);
                                    vAlertaBaja    = false;
                                    vEstatusCorreo = false;
                                }
                            }
                            else
                            {
                                vAlertaBaja    = false;
                                vEstatusCorreo = pe.EnvioCorreo(vClCorreo, vNbEvaluador, "Solicitud para calificar metas", vMensaje);
                            }

                            if (vEstatusCorreo)
                            {
                                vXmlEvaluados.Add(new XElement("EVALUADOR", new XAttribute("ID_EVALUADOR", vIdEvaluador), new XAttribute("CL_CORREO_ELECTRONICO", vClCorreo)));
                                vNoCorreosEnviados++;

                                (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.White;
                                (item.FindControl("txtCorreo") as RadTextBox).HoveredStyle.BackColor = System.Drawing.Color.White;
                            }
                            else
                            {
                                (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.Gold;
                            }
                        }

                        else
                        {
                            (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.Gold;
                        }
                    }
                    else
                    {
                        (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.Gold;
                        UtilMensajes.MensajeResultadoDB(rwmMensaje, "Las contraseña del evaluador no han sido asignada. Por favor, asígnala para poder enviar el correo.", E_TIPO_RESPUESTA_DB.WARNING, pAlto: 200);
                        return;
                    }
                }
                else
                {
                    (item.FindControl("txtCorreo") as RadTextBox).EnabledStyle.BackColor = System.Drawing.Color.Gold;
                    UtilMensajes.MensajeResultadoDB(rwmMensaje, "El formato del correo es incorrecto. Por favor, corríjalo para poder enviar el correo.", E_TIPO_RESPUESTA_DB.WARNING, pAlto: 200);
                    return;
                }
            }

            if (vNoTotalCorreos == vNoCorreosEnviados && ListaBaja.Count() == 0)
            {
                UtilMensajes.MensajeResultadoDB(rwmMensaje, "Proceso exitoso", E_TIPO_RESPUESTA_DB.SUCCESSFUL);
            }
            else
            {
                if (vAlertaBaja == false && ListaBaja.Count() > 0)
                {
                    UtilMensajes.MensajeResultadoDB(rwmMensaje, "Se enviaron " + vNoCorreosEnviados.ToString() + " correos de " + vNoTotalCorreos.ToString() + " en total." + " Los correos en amarrillo no serán enviados por que son empleados dados de baja.", E_TIPO_RESPUESTA_DB.SUCCESSFUL, pAlto: 200, pCallBackFunction: "");
                }
                else if (vAlertaBaja == false)
                {
                    UtilMensajes.MensajeResultadoDB(rwmMensaje, "Se enviaron " + vNoCorreosEnviados.ToString() + " correos de " + vNoTotalCorreos.ToString() + " en total.", E_TIPO_RESPUESTA_DB.SUCCESSFUL, pCallBackFunction: "");
                }
            }
        }