Exemplo n.º 1
0
        protected void btnEnviar_Click(object sender, EventArgs e)
        {
            List <E_BATERIA_PRUEBAS> baterias = new List <E_BATERIA_PRUEBAS>();

            if (rgCandidatosBateria.Items.Count > 0)
            {
                GridDataItem items = (GridDataItem)rgCandidatosBateria.Items[0];
                if (items.GetDataKeyValue("ID_BATERIA") != null)
                {
                    foreach (GridDataItem item in rgCandidatosBateria.Items)
                    {
                        if (item.GetDataKeyValue("ID_BATERIA") != null)
                        {
                            string vMensaje = "<p>Estimado(a) <b>{0}:</b> </p> " +
                                              " <p>Bienvenido al sistema automatizado para aplicación de pruebas psicométricas SIGEIN. </p>" +
                                              " <p> Por favor da click <a href=\"{1}\">aquí</a> para comenzar tu aplicación de pruebas </p>" +
                                              " <p>¡Te deseamos la mejor de las suertes! </p>";

                            string vIdBateria   = item.GetDataKeyValue("ID_BATERIA").ToString();
                            string vClToken     = item.GetDataKeyValue("CL_TOKEN").ToString();
                            string vIdCandidato = item.GetDataKeyValue("ID_CANDIDATO").ToString();

                            string vClCorreoElectronico = (item.FindControl("txtCorreo") as RadTextBox).Text;
                            string vNbCandidato         = item["NB_CANDIDATO"].Text.ToString();
                            string vNbHost = ContextoUsuario.nbHost;// HttpContext.Current.Request.Url.Host;

                            //string pagina = "Default.aspx";
                            string pagina = "PruebaBienvenida.aspx";

                            if (vClCorreoElectronico != "" && vClCorreoElectronico != "&nbsp;")
                            {
                                //add item para actualizar
                                E_BATERIA_PRUEBAS bat = new E_BATERIA_PRUEBAS();
                                bat.ID_BATERIA            = int.Parse(vIdBateria);
                                bat.CL_CORREO_ELECTRONICO = vClCorreoElectronico;
                                baterias.Add(bat);
                                //  string url = String.Format("http://{0}/IDP/Pruebas/{1}?ty=sig&ID={2}&T={3}", host, pagina, vIdBateria, vClToken);
                                string myUrl = ResolveUrl("~/IDP/Pruebas/");
                                string url   = String.Format("{0}{5}{1}?ID={2}&T={3}&idCandidato={4}", vNbHost, pagina, vIdBateria, vClToken, vIdCandidato, myUrl);
                                Mail   mail  = new Mail(ContextoApp.mailConfiguration);
                                mail.addToAddress(vClCorreoElectronico, null);
                                //mail.Send("Pruebas SIGEIN", String.Format("Estimado(a) {0},<br/><br/>Para realizar las prueba click en el siguiente enlace: <br/><br/>{1}<br/><br/>Saludos cordiales.", vNbCandidato, url));
                                mail.Send("Aplicación de psicométria", String.Format(vMensaje, vNbCandidato, url));
                            }
                        }
                    }
                }
            }
            else
            {
                UtilMensajes.MensajeResultadoDB(rwmAlertas, "No se ha seleccionado una bateria.", E_TIPO_RESPUESTA_DB.WARNING, 400, 150, "");
            }

            if (baterias.Count() > 0)
            {
                //Actualizar baterias a estatus enviadas
                var vXelementsBateria = baterias.Select(x =>
                                                        new XElement("BATERIA",
                                                                     new XAttribute("ID_BATERIA", x.ID_BATERIA),
                                                                     new XAttribute("CL_CORREO_ELECTRONICO", x.CL_CORREO_ELECTRONICO))
                                                        );
                XElement       xmlPruebas = new XElement("BATERIAS", vXelementsBateria);
                PruebasNegocio pruebas    = new PruebasNegocio();
                pruebas.registra_EnvioBateria(xmlPruebas, vClUsuario, vNbPrograma);
                UtilMensajes.MensajeResultadoDB(rwmAlertas, "Pruebas enviadas.", E_TIPO_RESPUESTA_DB.SUCCESSFUL, 400, 150, "closeWindow");
            }
        }