Esempio n. 1
0
        private void LoadFile()
        {
            var Aplicacion = AplicacionService.GetAplicacionById(cveAplicacion);
            var Candidato  = InformacionPersonalCandidatoService.GetCandidatoById(Aplicacion.cveCandidato);

            PanelArchivo.Controls.Add(new LiteralControl("<div class='row text-center'>" +
                                                         "<div class='col-sm-6'>" +
                                                         "<h5>" +
                                                         "<strong> Candidato: </strong> <br/><br/>" + Candidato.Nombre + " " + Candidato.Apellido +
                                                         "</h5>" +
                                                         "</div>" +
                                                         "<div class='col-sm-6'>" +
                                                         "<h5> <strong> Archivo proporcionado: </strong> </h5>"));

            // Archivo a descargar
            LinkButton lbDocumento = new LinkButton();

            lbDocumento.Text = Aplicacion.NombreArchivo;
            lbDocumento.Style.Add("font-size", "16pt");
            lbDocumento.Style.Add("color", "#00acc1");
            lbDocumento.Style.Add("text-decoration", "underline");
            lbDocumento.Style.Add("margin", "1.5em 0");
            lbDocumento.Command        += new CommandEventHandler(DownloadFile);
            lbDocumento.CommandArgument = cveAplicacion;
            PanelArchivo.Controls.Add(lbDocumento);

            PanelArchivo.Controls.Add(new LiteralControl("</div> </div>"));
        }
Esempio n. 2
0
        private String getMails()
        {
            String Mails = "";

            var cveCategoria = Request.QueryString["c"];
            List <PI_BA_Aplicacion> TotalApps = AplicacionService.GetAplicacionesByCategoria(cveCategoria);
            List <PI_BA_Aplicacion> AcepApps  = new List <PI_BA_Aplicacion>();

            // Obtengo todas las aplicaciones aceptadas de dicha categoria
            foreach (PI_BA_Aplicacion App in TotalApps)
            {
                if (App.Status == StringValues.Aceptado)
                {
                    AcepApps.Add(App);
                }
            }

            // Concateno mails usando comas
            foreach (PI_BA_Aplicacion App in AcepApps)
            {
                var candidato = InformacionPersonalCandidatoService.GetCandidatoById(App.cveCandidato);
                Mails += "," + candidato.Correo;
            }

            // Elimino primer coma
            var retValue = "";

            if (Mails.Length > 1)
            {
                retValue = Mails.Substring(1, Mails.Length - 1);
            }
            return(retValue);
        }
Esempio n. 3
0
        public bool EnviarCorreoRecuperacion(String toMail, String id)
        {
            String titulo = "Recuperación de contraseña para el sistema Premios Institucionales del Tec de Monterrey";
            String cuerpo = "";

            cuerpo = File.ReadAllText(Server.MapPath("~/Values/CorreoRecuperaPassword.txt"));
            cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoFecha, DateTime.Today.ToShortDateString());
            cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoId, id);

            switch (id[0])
            {
            case 'c':
                cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoNombre,
                                        InformacionPersonalCandidatoService.GetCandidatoByCorreo(toMail).Nombre);
                break;

            case 'j':
                cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoNombre,
                                        InformacionPersonalJuezService.GetJuezByCorreo(toMail).Nombre);
                break;

            case 'a':
                cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoNombre,
                                        "Administrador");
                break;
            }

            return(EnviarCorreo(toMail, titulo, cuerpo));
        }
Esempio n. 4
0
        public static String GetID(String email)
        {
            String id        = null;
            var    candidato = InformacionPersonalCandidatoService.GetCandidatoByCorreo(email);

            if (candidato == null)
            {
                var juez = InformacionPersonalJuezService.GetJuezByCorreo(email);
                if (juez == null)
                {
                    var admin = InformacionPersonalAdministradorService.GetAdministradorByCorreo(email);
                    if (admin != null)
                    {
                        id = "a" + admin.cveAdministrador;
                    }
                }
                else
                {
                    id = "j" + juez.cveJuez;
                }
            }
            else
            {
                id = "c" + candidato.cveCandidato;
            }
            return(id);
        }
Esempio n. 5
0
        public static Dictionary <PI_BA_Aplicacion, PI_BA_Candidato> JuezObtenerCandidatosPorAplicaciones(List <PI_BA_Aplicacion> listaAplicaciones)
        {// Obtengo lista de aplicaciones, regreso diccionario de aplicaciones con candidatos
            using (var dbContext = new wPremiosInstitucionalesdbEntities())
            {
                try
                {
                    var lista = new Dictionary <PI_BA_Aplicacion, PI_BA_Candidato>();

                    foreach (var aplicacion in listaAplicaciones)
                    {
                        var candidato = InformacionPersonalCandidatoService.GetCandidatoById(aplicacion.cveCandidato);

                        // Se despliegan las aplicaciones aceptadas unicamente
                        if (aplicacion.Status == Values.StringValues.Aceptado)
                        {
                            lista.Add(aplicacion, candidato);
                        }
                    }
                    return(lista);
                }
                catch (Exception Ex)
                {
                    Console.WriteLine("Catched Exception: " + Ex.Message + Environment.NewLine);
                    return(null);
                }
            }
        }
Esempio n. 6
0
        private string htmlProfilePicture()
        {
            // Consigo el correo de la sesion actual
            string rolSesionActual = Session[StringValues.RolSesion].ToString();

            // Foto de perfil por default, si el usuario tiene otra, se reemplazara
            string htmlContent = "<img src=\"/Resources/img/default-pp.jpg\" class=\"avatar img-circle nav-profilepic\"/>";

            // Verifico si la sesion pertenece a la tipo de cuenta candidato
            if (Session[StringValues.RolSesion] != null)
            {
                if (Session[StringValues.RolSesion].ToString() == StringValues.RolCandidato)
                {
                    // Consigo al candidato segun su correo
                    var candidato = InformacionPersonalCandidatoService.GetCandidatoByCorreo(Session[StringValues.CorreoSesion].ToString());
                    htmlContent = "<a href=\"/Webforms/Candidato/InformacionPersonalCandidato.aspx\" title=\"" + candidato.Nombre + " " + candidato.Apellido + "\">" + htmlContent + "</a>";

                    // Si tiene imagen de perfil la muestro
                    if (candidato.NombreImagen != null && candidato.NombreImagen.Length > 0)
                    {
                        if (File.Exists(Server.MapPath("~/ProfilePictures/" + candidato.NombreImagen)))
                        {
                            htmlContent = "<a href=\"/Webforms/Candidato/InformacionPersonalCandidato.aspx\" title=\"" + candidato.Nombre + " " + candidato.Apellido + "\">" +
                                          "<img src=\"/ProfilePictures/" + candidato.NombreImagen + "\" class=\"avatar img-circle nav-profilepic\"/>" +
                                          "</a>";
                        }
                    }
                }

                // Verifico si la sesion pertenece a la tipo de cuenta juez
                else if (Session[StringValues.RolSesion].ToString() == StringValues.RolJuez)
                {
                    // Consigo al juez segun su correo
                    var juez = InformacionPersonalJuezService.GetJuezByCorreo(Session[StringValues.CorreoSesion].ToString());
                    htmlContent = "<a href=\"/webforms/Juez/InformacionPersonalJuez.aspx\" title=\"" + juez.Nombre + " " + juez.Apellido + "\">" + htmlContent + "</a>";

                    // Si tiene imagen de perfil la muestro
                    if (juez.NombreImagen != null && juez.NombreImagen.Length > 0)
                    {
                        if (File.Exists(Server.MapPath("~/ProfilePictures/" + juez.NombreImagen)))
                        {
                            htmlContent = "<a href=\"/webforms/Juez/InformacionPersonalJuez.aspx\" title=\"" + juez.Nombre + " " + juez.Apellido + "\">" +
                                          "<img src=\"/ProfilePictures/" + juez.NombreImagen + "\" class=\"avatar img-circle nav-profilepic\"/>" +
                                          "</a>";
                        }
                    }
                }

                // Verifico si la sesion pertenece a la tipo de cuenta administrador
                else if (Session[StringValues.RolSesion].ToString() == StringValues.RolAdmin)
                {
                    // administrador no utiliza imagen de perfil
                    htmlContent = "";
                }
            }

            // Retorno el string que contiene el html de la imagen de perfil
            return(htmlContent);
        }
Esempio n. 7
0
        public static bool CambiarContrasenaCandidato(String cve, String password)
        {
            var objCandidato = InformacionPersonalCandidatoService.GetCandidatoById(cve);

            if (objCandidato != null)
            {
                objCandidato.Password = password;
                return(InformacionPersonalCandidatoService.UpdateCandidato(objCandidato));
            }
            return(false);
        }
Esempio n. 8
0
        protected void EnviarBtn_Click(object sender, EventArgs e)
        {
            var candidato = InformacionPersonalCandidatoService.GetCandidatoByCorreo(Session[StringValues.CorreoSesion].ToString());

            if (candidato != null)
            {
                if (!candidato.FechaPrivacidadDatos.HasValue)
                {
                    candidato.FechaPrivacidadDatos = DateTime.Today.Date;
                }
                InformacionPersonalCandidatoService.UpdateCandidato(candidato);
            }
        }
Esempio n. 9
0
        protected void ActualizarContrasena()
        {
            var candidato = InformacionPersonalCandidatoService.GetCandidatoByCorreo(Session[StringValues.CorreoSesion].ToString());

            string sCurrentPassword = currentPwdTextBox.Text;

            if (candidato.Password == sha256(sCurrentPassword))
            {
                if (newPwdTextBox.Text == confirmNewPwdTextBox.Text)
                {
                    Regex regexNumero = new Regex(@".*\d.*");
                    Regex regexLetra  = new Regex(@".*[a-zA-z].*");
                    Match matchNumero = regexNumero.Match(newPwdTextBox.Text);
                    Match matchLetra  = regexLetra.Match(newPwdTextBox.Text);

                    if (newPwdTextBox.Text.Length >= 6 && matchNumero.Success && matchLetra.Success)
                    {
                        if (candidato != null)
                        {
                            candidato.Password = sha256(newPwdTextBox.Text);
                            if (InformacionPersonalCandidatoService.UpdateCandidato(candidato))
                            {
                                MasterPage.ShowMessage("Aviso", "Contraseña cambiada con éxito.");
                            }
                            else
                            {
                                MostrarCampos();
                            }
                        }
                    }
                    else
                    {
                        MasterPage.ShowMessage("Error", "Contraseña debe ser de al menos 6 caracteres y debe contener al menos un número y una letra.");
                    }
                }
                else
                {
                    MasterPage.ShowMessage("Error", "Contraseñas no coinciden.");
                }
            }
            else
            {
                MasterPage.ShowMessage("Error", "Contraseña actual incorrecta.");
            }

            ResetFields();
        }
Esempio n. 10
0
        private void PerfilCandidato()
        {
            // Perfil
            String idApp     = Request.QueryString["a"];
            var    app       = AplicacionService.GetAplicacionById(idApp);
            var    candidato = InformacionPersonalCandidatoService.GetCandidatoById(app.cveCandidato);

            LiteralControl lcPerfil = new LiteralControl("<div class='row text-center'> <div class='col-sm-4'> <h5> <strong>" + "Candidato:" + "</strong> </h5>");

            PanelArchivo.Controls.Add(lcPerfil);

            LinkButton lbUserProfile = new LinkButton();

            lbUserProfile.Text = candidato.Nombre + " " + candidato.Apellido;
            lbUserProfile.Style.Add("font-size", "14pt");
            lbUserProfile.Style.Add("color", "#00acc1");
            lbUserProfile.Style.Add("text-decoration", "underline");
            lbUserProfile.Attributes.Add("onclick", "window.open('AdministraInformacionPersonal.aspx?id=" + candidato.cveCandidato + "&t=candidato');");
            PanelArchivo.Controls.Add(lbUserProfile);
            PanelArchivo.Controls.Add(new LiteralControl("</div>"));

            // Calif. Promedio
            LiteralControl lcPregunta = new LiteralControl("<div class='col-sm-4'> <h5> <strong>" + "Calificación promedio:" + "</strong> </h5>");

            PanelArchivo.Controls.Add(lcPregunta);

            LiteralControl lcCalificacion = new LiteralControl();
            var            evaluaciones   = EvaluacionService.GetEvaluacionesByAplicacion(app.cveAplicacion);
            double         prom           = GetPromedioEvaluaciones(evaluaciones);

            if (prom >= 70)
            {
                lcCalificacion = new LiteralControl("<h5 style=\"color: #4caf50;\"> <div style=\"display: none; \"> " + (prom - 100) + " </div> " + prom + " </h5>");
            }
            else if (prom >= 0)
            {
                lcCalificacion = new LiteralControl("<h5 style=\"color: #f9a825;\"> <div style=\"display: none; \"> " + (prom - 100) + " </div> " + prom + " </h5>");
            }
            else
            {
                lcCalificacion = new LiteralControl("<h5 style=\"color: #f44336;\"> <div style=\"display: none; \"> 1000 </div> Sin evaluaciones </h5>");
            }
            PanelArchivo.Controls.Add(lcCalificacion);
            PanelArchivo.Controls.Add(new LiteralControl("</div>"));
        }
Esempio n. 11
0
        private void MostrarCampos()
        {
            var candidato = InformacionPersonalCandidatoService.GetCandidatoByCorreo(Session[StringValues.CorreoSesion].ToString());

            NombresTextBox.Text      = candidato.Nombre;
            ApellidosTextBox.Text    = candidato.Apellido;
            DomicilioTextBox.Text    = candidato.Direccion;
            RFCTextBox.Text          = candidato.RFC;
            TelefonoTextBox.Text     = candidato.Telefono;
            NacionalidadTextBox.Text = candidato.Nacionalidad;

            if (candidato.NombreImagen != null && candidato.NombreImagen.Length > 0)
            {
                if (File.Exists(Server.MapPath("~/ProfilePictures/" + candidato.NombreImagen)))
                {
                    avatarImage.Attributes.Add("style", "background-image: url(/ProfilePictures/" + candidato.NombreImagen + ")");
                }
            }
        }
Esempio n. 12
0
        public bool EnviarCorreoRechazarAplicacion(PI_BA_Aplicacion aplicacion, String razon)
        {
            var candidato    = InformacionPersonalCandidatoService.GetCandidatoById(aplicacion.cveCandidato);
            var categoria    = ConvocatoriaService.GetCategoriaById(aplicacion.cveCategoria);
            var convocatoria = ConvocatoriaService.GetConvocatoriaById(categoria.cveConvocatoria);
            var premio       = ConvocatoriaService.GetPremioByCategoria(categoria.cveCategoria);

            String toMail = candidato.Correo;
            String titulo = "Requiere cambios la solicitud de registro en el sistema Premios Institucionales del Tec de Monterrey.";
            String cuerpo = "";

            cuerpo = File.ReadAllText(Server.MapPath("~/Values/CorreoSolicitudCambio.txt"));
            cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoFecha, DateTime.Today.ToShortDateString());
            cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoNombre, candidato.Nombre);
            cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoPremio, premio.Nombre);
            cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoCategoria, categoria.Nombre);
            cuerpo = cuerpo.Replace(StringValues.ContenidoCorreoRazon, razon);

            return(EnviarCorreo(toMail, titulo, cuerpo));
        }
Esempio n. 13
0
        protected void ActualizarDatosGenerales()
        {
            var candidato = InformacionPersonalCandidatoService.GetCandidatoByCorreo(Session[StringValues.CorreoSesion].ToString());

            if (candidato != null)
            {
                candidato.Nombre       = NombresTextBox.Text;
                candidato.Apellido     = ApellidosTextBox.Text;
                candidato.Direccion    = DomicilioTextBox.Text.ToString();
                candidato.Nacionalidad = NacionalidadTextBox.Text.ToString();
                candidato.RFC          = RFCTextBox.Text.ToString();
                candidato.Telefono     = TelefonoTextBox.Text.ToString();

                if (!candidato.FechaPrivacidadDatos.HasValue)
                {
                    candidato.FechaPrivacidadDatos = DateTime.Today.Date;
                }

                if (!InformacionPersonalCandidatoService.UpdateCandidato(candidato))
                {
                    MostrarCampos();
                }
            }
        }
Esempio n. 14
0
        private void LoadMessage()
        {
            var correo    = Session[StringValues.CorreoSesion].ToString();
            var candidato = InformacionPersonalCandidatoService.GetCandidatoByCorreo(correo);

            if (candidato == null)
            {
                Response.Redirect("~/WebForms/Login.aspx", false);
            }

            if (candidato.Nombre != null && candidato.Nombre.Length > 0)
            {
                litBienvenidoUsuario.Text = "<h1> Bienvenido, " + candidato.Nombre + " </h1>";
            }
            else
            {
                litBienvenidoUsuario.Text = "<h1> Bienvenido </h1>";
            }

            if (!candidato.FechaPrivacidadDatos.HasValue)
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "Pop", "openModal();", true);
            }
        }
Esempio n. 15
0
        protected void ActualizarDatosGenerales()
        {
            string sUserType = Request.QueryString["t"];
            string sUserId   = Request.QueryString["id"];

            if (sUserType.Equals("juez"))
            {
                var juez = InformacionPersonalJuezService.GetJuezById(sUserId);
                if (juez != null)
                {
                    juez.Nombre   = jNombresTextBox.Text;
                    juez.Apellido = jApellidosTextBox.Text;
                    InformacionPersonalJuezService.UpdateJuez(juez);
                }
            }
            else if (sUserType.Equals("candidato"))
            {
                var candidato = InformacionPersonalCandidatoService.GetCandidatoById(sUserId);
                if (candidato != null)
                {
                    candidato.Nombre       = NombresTextBox.Text;
                    candidato.Apellido     = ApellidosTextBox.Text;
                    candidato.Direccion    = DomicilioTextBox.Text.ToString();
                    candidato.Nacionalidad = NacionalidadTextBox.Text.ToString();
                    candidato.RFC          = RFCTextBox.Text.ToString();
                    candidato.Telefono     = TelefonoTextBox.Text.ToString();

                    if (!candidato.FechaPrivacidadDatos.HasValue)
                    {
                        candidato.FechaPrivacidadDatos = DateTime.Today.Date;
                    }

                    InformacionPersonalCandidatoService.UpdateCandidato(candidato);
                }
            }
        }
Esempio n. 16
0
        private void LoadCandidatesWithEvaluations(string categoriaId)
        {
            var aplicaciones = AplicacionService.GetAplicacionesByCategoria(categoriaId);
            var categoria    = AplicacionService.GetCategoriaByClaveCategoria(categoriaId);
            var premio       = AplicacionService.GetPremioByClaveCategoria(categoriaId);

            if (categoria == null && premio == null)
            {
                return;
            }

            litTituloPremio.Text    = "Premio " + premio.Nombre;
            litTituloCategoria.Text = "Categoría: " + categoria.Nombre;

            if (aplicaciones != null)
            {
                foreach (var app in aplicaciones)
                {
                    var evaluaciones = EvaluacionService.GetEvaluacionesByAplicacion(app.cveAplicacion);
                    if (evaluaciones == null)
                    {
                        break;
                    }

                    var cand = InformacionPersonalCandidatoService.GetCandidatoById(app.cveCandidato);

                    TableRow tr = new TableRow();

                    // profile image column
                    TableCell tdIP = new TableCell();
                    tdIP.CssClass = "dt-profile-pic";

                    Image ipImage = new Image();
                    if (cand.NombreImagen != null)
                    {
                        ipImage.ImageUrl = "/ProfilePictures/" + cand.NombreImagen;
                    }
                    else
                    {
                        ipImage.ImageUrl = "/Resources/img/default-pp.jpg";
                    }
                    ipImage.CssClass      = "avatar img-circle";
                    ipImage.AlternateText = "avatar";
                    ipImage.Style.Add("width", "28px");
                    ipImage.Style.Add("height", "28px");

                    tdIP.Controls.Add(ipImage);
                    tdIP.Attributes.Add("onclick", "window.open('ObservaAplicacion.aspx?a=" + app.cveAplicacion + "');");

                    // name column
                    TableCell tdName = new TableCell();
                    tdName.Text = cand.Nombre;
                    tdName.Attributes.Add("onclick", "window.open('ObservaAplicacion.aspx?a=" + app.cveAplicacion + "');");

                    // last name column
                    TableCell tdLastName = new TableCell();
                    tdLastName.Text = cand.Apellido;
                    tdLastName.Attributes.Add("onclick", "window.open('ObservaAplicacion.aspx?a=" + app.cveAplicacion + "');");

                    TableCell tdCantEvals = new TableCell();
                    tdCantEvals.Text = evaluaciones.Count.ToString();
                    tdCantEvals.Attributes.Add("onclick", "window.open('ObservaAplicacion.aspx?a=" + app.cveAplicacion + "');");

                    // status column
                    TableCell tdCalificacion = new TableCell();
                    double    prom           = GetPromedioEvaluaciones(evaluaciones);
                    if (prom >= 70)
                    {
                        tdCalificacion.Style.Add("color", "#4caf50");
                        LiteralControl lcCalificacion = new LiteralControl("<strong> <div style=\"display: none; \"> " + (prom - 100) + " </div> " + prom + " </strong>");
                        tdCalificacion.Controls.Add(lcCalificacion);
                    }
                    else if (prom >= 0)
                    {
                        tdCalificacion.Style.Add("color", "#f9a825");
                        LiteralControl lcCalificacion = new LiteralControl("<strong> <div style=\"display: none; \"> " + (prom - 100) + " </div> " + prom + " </strong>");
                        tdCalificacion.Controls.Add(lcCalificacion);
                    }
                    else
                    {
                        tdCalificacion.Style.Add("color", "#f44336");
                        LiteralControl lcCalificacion = new LiteralControl("<strong> <div style=\"display: none; \"> 1000 </div> Sin evaluaciones </strong>");
                        tdCalificacion.Controls.Add(lcCalificacion);
                    }
                    tdCalificacion.Attributes.Add("onclick", "window.open('ObservaAplicacion.aspx?a=" + app.cveAplicacion + "');");

                    TableCell tdGanador = new TableCell();
                    tdGanador.CssClass = "dt-profile-pic";
                    LiteralControl lcGanador = new LiteralControl("<center><input type=\"radio\" name=\"ganador\" value=\"" + app.cveAplicacion + "\"/></center>");
                    tdGanador.Controls.Add(lcGanador);

                    tr.Controls.Add(tdIP);
                    tr.Controls.Add(tdName);
                    tr.Controls.Add(tdLastName);
                    tr.Controls.Add(tdCalificacion);
                    tr.Controls.Add(tdCantEvals);
                    tr.Controls.Add(tdGanador);

                    listaParticipantesTableBody.Controls.Add(tr);
                }
            }

            // Mostrar Botones / Ganador
            if (categoria.cveAplicacionGanadora != null)
            {
                ClientScript.RegisterStartupScript(GetType(), "svf", "showVeredictoFinal();", true);
                ClientScript.RegisterStartupScript(GetType(), "sag", "showAsignarGanador();", true);
                ClientScript.RegisterStartupScript(GetType(), "sg", "selectGanador('" + categoria.cveAplicacionGanadora + "');", true);
            }
        }
Esempio n. 17
0
        private void LoadPendingApplications()
        {
            var aplicaciones            = AplicacionService.GetAplicacionesByStatus(StringValues.Solicitado);
            var aplicacionesModificadas = AplicacionService.GetAplicacionesByStatus(StringValues.Modificado);

            aplicaciones.AddRange(aplicacionesModificadas);

            aplicaciones = aplicaciones.OrderBy(a => a.cveCategoria).ToList();

            if (aplicaciones.Count > 0)
            {
                int iCont = 0;
                foreach (var app in aplicaciones)
                {
                    var categoria = AplicacionService.GetCategoriaByClaveCategoria(app.cveCategoria);
                    var premio    = AplicacionService.GetPremioByClaveCategoria(app.cveCategoria);
                    var candidato = InformacionPersonalCandidatoService.GetCandidatoById(app.cveCandidato);

                    Panel panelMain = new Panel();
                    panelMain.CssClass = "panel panel-default";

                    Panel panelHeader = new Panel();
                    panelHeader.CssClass = "panel-heading";
                    panelHeader.Attributes.Add("role", "tab");
                    panelHeader.Attributes.Add("id", "heading" + iCont);

                    LiteralControl lcPanelTitle = new LiteralControl("" +
                                                                     "<h4 class=\"panel-title\">" +
                                                                     "<a role = \"button\" data-toggle=\"collapse\" data-parent=\"#" + "ContentPlaceHolder_accordion" + "\" href=\"#collapse" + iCont + "\" aria-expanded=\"true\" aria-controls=\"collapse" + iCont + "\" onclick=\"SetActualAppId('" + app.cveAplicacion + "');\">" +
                                                                     "<strong> Premio " + premio.Nombre + " - Categoria " + categoria.Nombre + "</strong> | " +
                                                                     candidato.Nombre + " " + candidato.Apellido +
                                                                     "</a>" +
                                                                     "</h4>" +
                                                                     "");

                    panelHeader.Controls.Add(lcPanelTitle);

                    Panel panelCollapse = new Panel();
                    panelCollapse.CssClass = "panel-collapse collapse";
                    panelCollapse.Attributes.Add("role", "tabpanel");
                    panelCollapse.Attributes.Add("aria-labelledby", "heading" + iCont);
                    panelCollapse.Attributes.Add("id", "collapse" + iCont);

                    Panel panelCollapseBody = new Panel();
                    panelCollapseBody.CssClass = "panel-body";

                    panelCollapseBody.Controls.Add(new LiteralControl("<div class='row text-center'> <div class='col-sm-6'> <h5> <strong> Candidato: </strong> </h5>"));

                    LinkButton lbUserProfile = new LinkButton();
                    lbUserProfile.Text = candidato.Nombre + " " + candidato.Apellido;
                    lbUserProfile.Style.Add("font-size", "14pt");
                    lbUserProfile.Style.Add("color", "#00acc1");
                    lbUserProfile.Style.Add("text-decoration", "underline");
                    lbUserProfile.Attributes.Add("onclick", "window.open('AdministraInformacionPersonal.aspx?id=" + candidato.cveCandidato + "&t=candidato');");
                    panelCollapseBody.Controls.Add(lbUserProfile);

                    panelCollapseBody.Controls.Add(new LiteralControl("</div> <div class='col-sm-6'> <h5> <strong> Archivo proporcionado: </strong> </h5>"));

                    LinkButton lbDocumento = new LinkButton();
                    lbDocumento.Text = app.NombreArchivo;
                    lbDocumento.Style.Add("font-size", "14pt");
                    lbDocumento.Style.Add("color", "#00acc1");
                    lbDocumento.Style.Add("text-decoration", "underline");
                    lbDocumento.Command        += new CommandEventHandler(DownloadFile);
                    lbDocumento.CommandArgument = app.cveAplicacion;
                    panelCollapseBody.Controls.Add(lbDocumento);

                    panelCollapseBody.Controls.Add(new LiteralControl("</div> </div>"));

                    Panel panelCollapseBodyQuestions = new Panel();
                    panelCollapseBodyQuestions.CssClass = "row question-form";
                    panelCollapseBodyQuestions.Style.Add("margin-left", "10px");
                    panelCollapseBodyQuestions.Style.Add("margin-right", "10px");

                    // Desplegar preguntas y respuestas
                    var preguntas = AplicacionService.GetFormularioByCategoria(app.cveCategoria);

                    if (preguntas.Count > 0)
                    {
                        short iNumber = 0;
                        foreach (var pregunta in preguntas)
                        {
                            Panel panelQuestion = new Panel();
                            panelQuestion.CssClass = "question-box";

                            LiteralControl lcPregunta = new LiteralControl("<h5> <strong>" + (iNumber + 1) + ". " + pregunta.Texto + "</strong> </h5>");
                            panelQuestion.Controls.Add(lcPregunta);

                            var respuesta = AplicacionService.GetRespuestaByPreguntaAndAplicacion(pregunta.cvePregunta, app.cveAplicacion);
                            if (respuesta == null)
                            {
                                break;
                            }

                            string[] lines = respuesta.Valor.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
                            for (int i = 0; i < lines.Length; i++)
                            {
                                LiteralControl lcRespuesta = new LiteralControl("<h5>" + lines[i] + "</h5>");
                                panelQuestion.Controls.Add(lcRespuesta);
                            }

                            panelCollapseBodyQuestions.Controls.Add(panelQuestion);
                            iNumber++;
                        }
                    }

                    panelCollapseBody.Controls.Add(panelCollapseBodyQuestions);

                    // Desplegar opciones de aceptar o rechazar aplicacion
                    LiteralControl btnGroupAcceptReject = new LiteralControl("" +
                                                                             "<div class=\"btn-group-right\" style=\"padding: 0px\">" +
                                                                             "<a data-toggle=\"modal\" data-target=\"#modalRechazApp\" style=\"text-decoration: none\">" +
                                                                             "<button type = \"button\" class=\"btn btn-default\" style='margin-right: 5px;'>Rechazar Aplicacion</button>" +
                                                                             "</a>" +
                                                                             "<a data-toggle= \"modal\" data-target= \"#modalAcceptApp\" style= \"text-decoration: none\" >" +
                                                                             "<button type=\"button\" class=\"btn btn-primary\">Aceptar Aplicacion</button>" +
                                                                             "</a>" +
                                                                             "</div>"
                                                                             );
                    panelCollapseBody.Controls.Add(btnGroupAcceptReject);
                    panelCollapse.Controls.Add(panelCollapseBody);
                    panelMain.Controls.Add(panelHeader);
                    panelMain.Controls.Add(panelCollapse);
                    accordion.Controls.Add(panelMain);

                    iCont++;
                }
            }

            else
            {
                //desplegar letrero de no aplicaciones
                HtmlControl divControl = new HtmlGenericControl("div");
                divControl.Attributes.Add("class", "text-center");
                divControl.Visible = true;
                divControl.Controls.Add(new LiteralControl("<h4> No hay registros pendientes que mostrar. </h4>"));
                appsdiv.Controls.Add(divControl);
            }
        }
Esempio n. 18
0
        protected DataTable loadDataTable()
        {
            DataTable DT = new DataTable();

            string sType = Request.QueryString["t"];

            if (sType != null)
            {
                if (sType == "candidato")
                {
                    var candidatos = InformacionPersonalCandidatoService.GetCandidatos();
                    if (candidatos != null)
                    {
                        DT.Clear();
                        DT.Columns.AddRange(new DataColumn[]
                        {
                            new DataColumn("Nombre"),
                            new DataColumn("Apellido"),
                            new DataColumn("Correo"),
                            new DataColumn("Telefono"),
                            new DataColumn("Nacionalidad"),
                            new DataColumn("RFC"),
                            new DataColumn("Direccion")
                        });

                        foreach (var cand in candidatos)
                        {
                            DT.Rows.Add(new object[]
                            {
                                cand.Nombre,
                                cand.Apellido,
                                cand.Correo,
                                cand.Telefono,
                                cand.Nacionalidad,
                                cand.RFC,
                                cand.Direccion
                            });

                            DT.AcceptChanges();
                        }
                    }
                }

                else if (sType == "juez")
                {
                    var jueces = InformacionPersonalJuezService.GetJueces();
                    if (jueces != null)
                    {
                        DT.Clear();
                        DT.Columns.AddRange(new DataColumn[]
                        {
                            new DataColumn("Nombre"),
                            new DataColumn("Apellido"),
                            new DataColumn("Correo")
                        });

                        foreach (var juez in jueces)
                        {
                            DT.Rows.Add(new object[]
                            {
                                juez.Nombre,
                                juez.Apellido,
                                juez.Correo
                            });

                            DT.AcceptChanges();
                        }
                    }
                }
            }

            return(DT);
        }
Esempio n. 19
0
        private void LoadCandidateTable()
        {
            litUsuarios.Text = "Candidatos";
            var    candidatos = InformacionPersonalCandidatoService.GetCandidatos();
            string sType      = Request.QueryString["t"];

            if (candidatos != null)
            {
                foreach (var cand in candidatos)
                {
                    TableRow tr = new TableRow();

                    // profile image column
                    TableCell tdIP = new TableCell();
                    tdIP.CssClass = "dt-profile-pic";
                    tdIP.Attributes.Add("onclick", "window.open('AdministraInformacionPersonal.aspx?id=" + cand.cveCandidato + "&t=" + sType + "');");
                    Image ipImage = new Image();
                    if (cand.NombreImagen != null)
                    {
                        ipImage.ImageUrl = "/ProfilePictures/" + cand.NombreImagen;
                    }
                    else
                    {
                        ipImage.ImageUrl = "/Resources/img/default-pp.jpg";
                    }
                    ipImage.CssClass      = "avatar img-circle";
                    ipImage.AlternateText = "avatar";
                    ipImage.Style.Add("width", "28px");
                    ipImage.Style.Add("height", "28px");

                    tdIP.Controls.Add(ipImage);

                    // name column
                    TableCell tdName = new TableCell();
                    tdName.Text = cand.Nombre;
                    tdName.Attributes.Add("onclick", "window.open('AdministraInformacionPersonal.aspx?id=" + cand.cveCandidato + "&t=" + sType + "');");

                    // last name column
                    TableCell tdLastName = new TableCell();
                    tdLastName.Text = cand.Apellido;
                    tdLastName.Attributes.Add("onclick", "window.open('AdministraInformacionPersonal.aspx?id=" + cand.cveCandidato + "&t=" + sType + "');");

                    TableCell      tdEmail    = new TableCell();
                    LiteralControl lcMailLink = new LiteralControl("<a href=\"mailto:" + cand.Correo + "?Subject=Premios%20Institucionales\" target=\"_top\"> " + cand.Correo + "</a>");
                    tdEmail.Controls.Add(lcMailLink);

                    TableCell tdPhone = new TableCell();
                    tdPhone.Text = cand.Telefono;
                    tdPhone.Attributes.Add("onclick", "window.open('AdministraInformacionPersonal.aspx?id=" + cand.cveCandidato + "&t=" + sType + "');");

                    TableCell tdNationality = new TableCell();
                    tdNationality.Text = cand.Nacionalidad;
                    tdNationality.Attributes.Add("onclick", "window.open('AdministraInformacionPersonal.aspx?id=" + cand.cveCandidato + "&t=" + sType + "');");

                    TableCell tdRFC = new TableCell();
                    tdRFC.Text = cand.RFC;
                    tdRFC.Attributes.Add("onclick", "window.open('AdministraInformacionPersonal.aspx?id=" + cand.cveCandidato + "&t=" + sType + "');");

                    TableCell tdAddress = new TableCell();
                    tdAddress.Text = cand.Direccion;
                    tdAddress.Attributes.Add("onclick", "window.open('AdministraInformacionPersonal.aspx?id=" + cand.cveCandidato + "&t=" + sType + "');");

                    TableCell tdConfirmacion = new TableCell();
                    tdConfirmacion.Attributes.Add("onclick", "window.open('AdministraInformacionPersonal.aspx?id=" + cand.cveCandidato + "&t=" + sType + "');");
                    LiteralControl lcConfirmacion;
                    if (cand.Confirmado.HasValue && cand.Confirmado.Value)
                    {
                        tdConfirmacion.Style.Add("color", "#4caf50");
                        lcConfirmacion = new LiteralControl("<strong> <div style=\"display: none; \"> 2 </div> Confirmado </strong>");
                    }
                    else
                    {
                        tdConfirmacion.Style.Add("color", "#f9a825");
                        lcConfirmacion = new LiteralControl("<strong> <div style=\"display: none; \"> 2 </div> Sin confirmar </strong>");
                    }
                    tdConfirmacion.Controls.Add(lcConfirmacion);

                    // status column
                    TableCell tdPrivacidad = new TableCell();
                    tdPrivacidad.Attributes.Add("onclick", "window.open('AdministraInformacionPersonal.aspx?id=" + cand.cveCandidato + "&t=" + sType + "');");
                    LiteralControl lcPrivacidad;
                    if (cand.FechaPrivacidadDatos != null)
                    {
                        tdPrivacidad.Style.Add("color", "#4caf50");
                        lcPrivacidad = new LiteralControl("<strong> <div style=\"display: none; \"> 2 </div> Aceptado </strong>");
                    }
                    else
                    {
                        tdPrivacidad.Style.Add("color", "#f9a825");
                        lcPrivacidad = new LiteralControl("<strong> <div style=\"display: none; \"> 2 </div> Sin aceptar </strong>");
                    }

                    tdPrivacidad.Controls.Add(lcPrivacidad);

                    tr.Controls.Add(tdIP);
                    tr.Controls.Add(tdName);
                    tr.Controls.Add(tdLastName);
                    tr.Controls.Add(tdEmail);
                    tr.Controls.Add(tdPhone);
                    tr.Controls.Add(tdNationality);
                    tr.Controls.Add(tdRFC);
                    tr.Controls.Add(tdAddress);
                    tr.Controls.Add(tdConfirmacion);
                    tr.Controls.Add(tdPrivacidad);

                    listaCandidatosTableBody.Controls.Add(tr);
                }
            }
        }
Esempio n. 20
0
        protected void CambiarContrasena_Click(object sender, EventArgs e)
        {
            string sUserType = Request.QueryString["t"];
            string sUserId   = Request.QueryString["id"];

            if (sUserType.Equals("juez"))
            {
                var juez = InformacionPersonalJuezService.GetJuezById(sUserId);

                if (newPwdTextBox.Text == confirmNewPwdTextBox.Text)
                {
                    Regex regexNumero = new Regex(@".*\d.*");
                    Regex regexLetra  = new Regex(@".*[a-zA-z].*");
                    Match matchNumero = regexNumero.Match(newPwdTextBox.Text);
                    Match matchLetra  = regexLetra.Match(newPwdTextBox.Text);

                    if (newPwdTextBox.Text.Length >= 6 && matchNumero.Success && matchLetra.Success)
                    {
                        if (juez != null)
                        {
                            juez.Password = sha256(newPwdTextBox.Text);
                            if (InformacionPersonalJuezService.UpdateJuez(juez))
                            {
                                MasterPage.ShowMessage("Aviso", "Contraseña cambiada con éxito.");
                            }
                            else
                            {
                                LoadJudgeInformation(sUserId);
                            }
                        }
                    }
                    else
                    {
                        MasterPage.ShowMessage("Error", "Contraseña debe ser de al menos 6 caracteres y debe contener al menos un número y una letra.");
                    }
                }
                else
                {
                    MasterPage.ShowMessage("Error", "Contraseñas no coinciden.");
                }
            }
            else if (sUserType.Equals("candidato"))
            {
                var candidato = InformacionPersonalCandidatoService.GetCandidatoById(sUserId);

                if (newPwdTextBox.Text == confirmNewPwdTextBox.Text)
                {
                    Regex regexNumero = new Regex(@".*\d.*");
                    Regex regexLetra  = new Regex(@".*[a-zA-z].*");
                    Match matchNumero = regexNumero.Match(newPwdTextBox.Text);
                    Match matchLetra  = regexLetra.Match(newPwdTextBox.Text);

                    if (newPwdTextBox.Text.Length >= 6 && matchNumero.Success && matchLetra.Success)
                    {
                        if (candidato != null)
                        {
                            candidato.Password = sha256(newPwdTextBox.Text);
                            if (InformacionPersonalCandidatoService.UpdateCandidato(candidato))
                            {
                                MasterPage.ShowMessage("Aviso", "Contraseña cambiada con éxito.");
                            }
                            else
                            {
                                LoadCandidateInformation(sUserId);
                            }
                        }
                    }
                    else
                    {
                        MasterPage.ShowMessage("Error", "Contraseña debe ser de al menos 6 caracteres y debe contener al menos un número y una letra.");
                    }
                }
                else
                {
                    MasterPage.ShowMessage("Error", "Contraseñas no coinciden.");
                }
            }
            ResetFields();
        }
Esempio n. 21
0
        protected bool Upload(object sender, EventArgs e)
        {
            if (FileUploadImage.HasFile)
            {
                // Get filename
                string fileName = Path.GetFileName(FileUploadImage.PostedFile.FileName);

                // Get string image format (png, jpg, etc)
                var    startIndex    = fileName.LastIndexOf(".");
                var    endIndex      = fileName.Length - startIndex;
                string sFormat       = fileName.Substring(startIndex, endIndex).ToLower();
                string sNombreImagen = Guid.NewGuid().ToString() + sFormat;

                // Formatos Validos
                List <String> supportedFormats = new List <String>()
                {
                    ".png",
                    ".bmp",
                    ".jpg",
                    ".jpeg"
                };

                if (supportedFormats.Contains(sFormat))
                {
                    using (var image = Image.FromStream(FileUploadImage.PostedFile.InputStream, true, true))
                    {
                        using (var newImage = ScaleImage(image, 364, 364))
                        {
                            // Get logged in candidate
                            var candidato = InformacionPersonalCandidatoService.GetCandidatoByCorreo(Session[StringValues.CorreoSesion].ToString());
                            if (candidato.NombreImagen != null && candidato.NombreImagen.Length > 0)
                            {
                                // Delete previous image...
                                File.Delete(Server.MapPath("~/ProfilePictures/") + candidato.NombreImagen);
                            }

                            // Upload image to server
                            switch (sFormat)
                            {
                            case ".png":
                                newImage.Save(Server.MapPath("~/ProfilePictures/") + sNombreImagen, ImageFormat.Png);
                                break;

                            case ".bmp":
                                newImage.Save(Server.MapPath("~/ProfilePictures/") + sNombreImagen, ImageFormat.Bmp);
                                break;

                            default:
                                newImage.Save(Server.MapPath("~/ProfilePictures/") + sNombreImagen, ImageFormat.Jpeg);
                                break;
                            }

                            // Update data in database
                            InformacionPersonalCandidatoService.CambiaImagen(null, Session[StringValues.CorreoSesion].ToString(), sNombreImagen);
                            return(true);
                        }
                    }
                }
                else
                {
                    MasterPage.ShowMessage("Error", "La imagen proporcionada debe estar en formato PNG , JPG o BMP.");
                    return(false);
                }
            }
            return(true);
        }
Esempio n. 22
0
        private void LoadCandidateInformation(string id)
        {
            controlFormJuez.Style.Add("display", "none");
            var candidato = InformacionPersonalCandidatoService.GetCandidatoById(id);

            if (candidato != null)
            {
                NombresTextBox.Text      = candidato.Nombre;
                ApellidosTextBox.Text    = candidato.Apellido;
                CorreoTextBox.Text       = candidato.Correo;
                DomicilioTextBox.Text    = candidato.Direccion;
                RFCTextBox.Text          = candidato.RFC;
                TelefonoTextBox.Text     = candidato.Telefono;
                NacionalidadTextBox.Text = candidato.Nacionalidad;

                if (!candidato.FechaPrivacidadDatos.HasValue)
                {
                    NombresTextBox.ReadOnly = true;
                    NombresTextBox.Attributes.Add("disabled", "disabled");

                    ApellidosTextBox.ReadOnly = true;
                    ApellidosTextBox.Attributes.Add("disabled", "disabled");

                    DomicilioTextBox.ReadOnly = true;
                    DomicilioTextBox.Attributes.Add("disabled", "disabled");

                    RFCTextBox.ReadOnly = true;
                    RFCTextBox.Attributes.Add("disabled", "disabled");

                    TelefonoTextBox.ReadOnly = true;
                    TelefonoTextBox.Attributes.Add("disabled", "disabled");

                    NacionalidadTextBox.ReadOnly = true;
                    NacionalidadTextBox.Attributes.Add("disabled", "disabled");

                    // to-do show message
                    guardarCambiosBtn.Visible    = false;
                    dataOptionsCandidato.Visible = false;
                    alertInfo.Visible            = true;
                    FileUploadImage.Enabled      = false;
                    litAlertMessage.Text         = "El usuario <strong>actual</strong> no ha aceptado las politicas de privacidad de datos.";
                }

                if (!candidato.Confirmado.HasValue)
                {
                    litAlertMessage.Text = "El usuario <strong>actual</strong> no ha confirmado su cuenta.";
                }

                if (candidato.NombreImagen != null && candidato.NombreImagen.Length > 0)
                {
                    if (File.Exists(Server.MapPath("~/ProfilePictures/" + candidato.NombreImagen)))
                    {
                        avatarImage.Attributes.Add("style", "background-image: url(/ProfilePictures/" + candidato.NombreImagen + ")");
                    }
                }
            }
            else
            {
                Response.Redirect("InicioAdmin.aspx", false);
            }
        }