Example #1
0
        private void CrearFormulario(String sCategoriaID, PI_BA_Premio premio, PI_BA_Categoria categoria)
        {
            litTituloPremio.Text    = "Premio " + premio.Nombre;
            litTituloCategoria.Text = "Categoría: " + categoria.Nombre;

            // obtener lista de preguntas y respuestas para la aplicacion
            var preguntas = AplicacionService.GetFormularioByCategoria(sCategoriaID);

            if (preguntas != null)
            {
                short iNumber = 0;
                foreach (var pregunta in preguntas)
                {
                    Panel panel = new Panel();
                    panel.CssClass = "question-box";

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

                    var      respuesta = AplicacionService.GetRespuestaByPreguntaAndAplicacion(pregunta.cvePregunta, cveAplicacion);
                    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>");
                        panel.Controls.Add(lcRespuesta);
                    }

                    PanelFormulario.Controls.Add(panel);
                    iNumber++;
                }
            }
        }
Example #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);
        }
Example #3
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>"));
        }
Example #4
0
        private void LoadJudgeTable()
        {
            var    jueces = InformacionPersonalJuezService.GetJueces();
            string sType  = Request.QueryString["t"];

            if (jueces != null)
            {
                foreach (var juez in jueces)
                {
                    TableRow tr = new TableRow();

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

                    Image ipImage = new Image();
                    if (juez.NombreImagen != null)
                    {
                        ipImage.ImageUrl = "/ProfilePictures/" + juez.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 = juez.Nombre;

                    // last name column
                    TableCell tdLastName = new TableCell();
                    tdLastName.Text = juez.Apellido;

                    TableCell tdEmail = new TableCell();

                    LiteralControl lHiddenValue = new LiteralControl("<span id=\"" + juez.cveJuez + "\">" + juez.Correo + "</span>");
                    tdEmail.Controls.Add(lHiddenValue);

                    tr.Controls.Add(tdIP);
                    tr.Controls.Add(tdName);
                    tr.Controls.Add(tdLastName);
                    tr.Controls.Add(tdEmail);
                    if (!AplicacionService.GetJuecesIdsCategoria(idCategoria).Contains(juez.cveJuez))
                    {
                        listaJuecesTableBody.Controls.Add(tr);
                    }
                    else
                    {
                        listaJuezTableAsignadosBody.Controls.Add(tr);
                    }
                }
            }
        }
Example #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // Verificar si ya expiro la sesion
            if (Session.Contents.Count == 0)
            {
                Response.Redirect("~/WebForms/Error/Error401.aspx", false);
            }

            MasterPage = (MP_Global)Page.Master;

            // Si viene de la página del formulario
            if (Request.QueryString["r"] == "true")
            {
                MasterPage.ShowMessage("Aviso", "Tu aplicación ha sido enviada éxitosamente.");
            }

            if (!IsPostBack)
            {
                // revisar la primera vez que se carga la pagina que se haya iniciado sesion con cuenta de candidato
                if (Session[StringValues.RolSesion] != null)
                {
                    if (Session[StringValues.RolSesion].ToString() != StringValues.RolCandidato)
                    {
                        // si no es candidato, redireccionar a login
                        Response.Redirect("~/WebForms/Login.aspx", false);
                    }
                }
                else
                {
                    Response.Redirect("~/WebForms/Login.aspx", false);
                }
            }

            var aplicaciones = AplicacionService.GetAplicacionesByCorreo(Session[StringValues.CorreoSesion].ToString());

            if (aplicaciones.Count > 0)
            {
                foreach (var ap in aplicaciones)
                {
                    //desplegar mapa de estados
                    HtmlControl divControl = new HtmlGenericControl("div");
                    divControl.Attributes.Add("class", "crumbs");
                    divControl.Visible = true;
                    estadosaplicaciones.Controls.Add(divControl);

                    divControl.Controls.Add(new LiteralControl(obtenerHtmlMapaEstados(ap)));
                }
            }
            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("<br /> <h4> Por el momento no tienes aplicaciones a premios institucionales para mostrar. </h4>"));
                estadosaplicaciones.Controls.Add(divControl);
            }
        }
Example #6
0
        protected void bttnAceptarAplicacion_Click(object sender, EventArgs e)
        {
            String aplicacionID = IdAppHidden.Value.ToString();

            // cambiar el status de la aplicacion a Aceptado
            AplicacionService.AceptarAplicacion(aplicacionID);
            // cargar nuevamente el acordeon de respuestas forzando un postback
            Response.Redirect(Request.Url.AbsoluteUri, false);
        }
Example #7
0
        protected string UploadFile()
        {
            HttpPostedFile file = Request.Files["file"];

            //check file was submitted
            if (file != null && file.ContentLength > 0)
            {
                string fname = Path.GetFileName(file.FileName);

                // Get string image format (png, jpg, etc)
                var    startIndex     = fname.LastIndexOf(".");
                var    endIndex       = fname.Length - startIndex;
                string sFormat        = fname.Substring(startIndex, endIndex).ToLower();
                string sName          = fname.Substring(0, fname.Length - sFormat.Length);
                string sNombreArchivo = sName + new Random().Next(10000, 99999) + sFormat;

                // Formatos Validos
                List <String> supportedFormats = new List <String>()
                {
                    ".png",
                    ".jpg",
                    ".jpeg",
                    ".bmp",
                    ".txt",
                    ".doc",
                    ".docx",
                    ".pdf",
                    ".xlsx",
                    ".xls",
                    ".csv",
                    ".ppt",
                    ".pptx"
                };

                if (!supportedFormats.Contains(sFormat))
                {
                    MasterPage.ShowMessage("Error", "El archivo proporcionado debe ser un archivo de texto, una hoja de cálculo o un imagen.");
                    return("Error");
                }

                // Delete previous image...
                string idApp    = Request.QueryString["aplicacion"];
                string FileName = AplicacionService.GetAplicacionById(idApp).NombreArchivo;
                if (FileName != null && FileName.Length > 0)
                {
                    File.Delete(Server.MapPath("~/UsersAppsFiles/") + FileName);
                }

                // Upload image to server
                file.SaveAs(Server.MapPath(Path.Combine("~/UsersAppsFiles/", sNombreArchivo)));
                return(sNombreArchivo);
            }

            return(null);
        }
Example #8
0
        protected void Guarda_Jueces()
        {
            List <String> idsJuecesAsigandos = hiddenControl.Value.Split(',').ToList();

            AplicacionService.RemoveJuezCategoria(idCategoria);

            if (idsJuecesAsigandos.Count > 0 && idsJuecesAsigandos != null)
            {
                AplicacionService.AsignarJuecesCategoria(idCategoria, idsJuecesAsigandos);
            }
        }
Example #9
0
        private void LoadCategories(PI_BA_Premio premio, PI_BA_Convocatoria convocatoria)
        {
            litTituloPremio.Text           = premio.Nombre;
            TituloNuevaConvocatoriaTB.Text = convocatoria.TituloConvocatoria;

            String fInicio    = "'" + FormatearStringFecha(convocatoria.FechaInicio.ToString()) + "' ,";
            String fFin       = "'" + FormatearStringFecha(convocatoria.FechaFin.ToString()) + "' ,";
            String fVeredicto = "'" + FormatearStringFecha(convocatoria.FechaVeredicto.ToString()) + "'";

            ClientScript.RegisterStartupScript(GetType(), "sD", "setDates(" + fInicio + fFin + fVeredicto + ");", true);

            // Mensaje si pude editar los datos del premio
            switch (Request.QueryString["s"])
            {
            case "success":
                MasterPage.ShowMessage("Aviso", "Los cambios fueron realizados con éxito.");
                break;

            case "failed":
                MasterPage.ShowMessage("Error", "El servidor encontró un error al procesar la solicitud.");
                break;
            }

            var categorias = ConvocatoriaService.GetCategoriasByConvocatoria(convocatoria.cveConvocatoria);
            int iCounter   = 0;

            foreach (var c in categorias)
            {
                // Div encargado del responsivo
                Panel pCol = new Panel();
                pCol.CssClass = "col-md-4 item-list text-center";

                // Div encargado de la caja de categoria
                Panel  pItem  = new Panel();
                string sColor = ltColors[iCounter % ltColors.Count];
                pItem.CssClass = "create-item item-description-fix";
                pItem.Style.Add("background-color", sColor);

                // h5 encargado de mostrar el nombre de la categoria
                LiteralControl lcNombreCategoria = new LiteralControl("<h5 class=\"item-description\"> " + c.Nombre + "</h5>");

                pItem.Controls.Add(lcNombreCategoria);
                pCol.Controls.Add(pItem);

                String sFormaID = AplicacionService.GetFormByCategoria(c.cveCategoria).cveForma;
                categoryList.Controls.Add(new LiteralControl("<a href=AdministraFormulario.aspx?p=" + sFormaID + ">"));
                categoryList.Controls.Add(pCol);
                categoryList.Controls.Add(new LiteralControl("</a>"));

                iCounter++;
            }
        }
Example #10
0
        private List <int> EstadoAplicaciones(string sCategoriaID)
        {
            List <int> CompletoNuevo = new List <int>();

            // Init
            CompletoNuevo.Add(0);
            CompletoNuevo.Add(0);

            string sMail     = Session[StringValues.CorreoSesion].ToString();
            var    categoria = AplicacionService.GetCategoriaByClaveCategoria(sCategoriaID);
            var    premio    = AplicacionService.GetPremioByClaveCategoria(sCategoriaID);

            if (premio == null || categoria == null || sMail == null)
            {
                return(CompletoNuevo);
            }

            var  listaCategorias = EvaluacionService.GetCategoriaByJuez(sMail);
            bool bValidJudge     = CheckValidCategory(listaCategorias, sCategoriaID);

            if (bValidJudge)
            {
                // obtener aplicaciones para cierta categoria
                var aplicacionesACategoria = ConvocatoriaService.ObtenerAplicacionesPorCategoria(sCategoriaID);

                // obtener candidatos ligados a estas aplicaciones
                var listaCandidatos = ConvocatoriaService.JuezObtenerCandidatosPorAplicaciones(aplicacionesACategoria);
                if (listaCandidatos != null)
                {
                    foreach (var cand in listaCandidatos)
                    {
                        // status column
                        var Eval = EvaluacionService.GetEvaluacionByAplicacionAndJuez(sMail, cand.Key.cveAplicacion);
                        if (Eval != null)
                        {
                            //Completo
                            CompletoNuevo[0]++;
                        }
                        else
                        {
                            //Nuevo
                            CompletoNuevo[1]++;
                        }
                    }
                }
            }

            return(CompletoNuevo);
        }
Example #11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // Verificar si ya expiro la sesion
            if (Session.Contents.Count == 0)
            {
                Response.Redirect("~/WebForms/Error/Error401.aspx", false);
            }

            if (!IsPostBack)
            {
                // revisar la primera vez que se carga la pagina que se haya iniciado sesion con cuenta de admin
                if (Session[StringValues.RolSesion] != null)
                {
                    if (Session[StringValues.RolSesion].ToString() != StringValues.RolAdmin)
                    {
                        // si no es admin, redireccionar a inicio general
                        Response.Redirect("~/WebForms/Login.aspx", false);
                    }
                }
                else
                {
                    Response.Redirect("~/WebForms/Login.aspx", false);
                }
            }
            String idApp = Request.QueryString["a"];

            if (idApp != null)
            {
                PerfilCandidato();
                CrearArchivo();

                String sCategoriaID = AplicacionService.GetCveCategoriaByAplicacion(idApp);
                if (sCategoriaID != null)
                {
                    var premio    = ConvocatoriaService.GetPremioByCategoria(sCategoriaID);
                    var categoria = ConvocatoriaService.GetCategoriaById(sCategoriaID);

                    if (premio != null && categoria != null)
                    {
                        string sMail           = Session[StringValues.CorreoSesion].ToString();
                        var    listaCategorias = EvaluacionService.GetCategoriaByJuez(sMail);
                        var    eval            = CheckExistenceOfEvaluation(sMail, idApp);

                        CrearFormulario(sCategoriaID, premio, categoria);
                    }
                }
            }
        }
Example #12
0
        protected void EnviarAplicacion(object sender, EventArgs e)
        {
            PI_BA_Aplicacion aplicacionNueva = new PI_BA_Aplicacion();

            aplicacionNueva.cveAplicacion = Guid.NewGuid().ToString();
            aplicacionNueva.Status        = StringValues.Solicitado;
            aplicacionNueva.cveCandidato  = AplicacionService.GetCveCandidatoByCorreo(Session[StringValues.CorreoSesion].ToString());
            aplicacionNueva.cveCategoria  = Request.QueryString["c"];

            List <PI_BA_Respuesta> respuestas   = new List <PI_BA_Respuesta>();
            List <string>          ltRespuestas = new List <string>();

            string[] ctrls     = Request.Form.ToString().Split('&');
            var      preguntas = AplicacionService.GetFormularioByCategoria(aplicacionNueva.cveCategoria);

            System.Diagnostics.Debug.Print("debug");
            System.Diagnostics.Debug.Print(ctrls.ToString());
            for (int i = 0; i < preguntas.Count; i++)
            {
                PI_BA_Pregunta pregunta = preguntas[i];
                int            iIndex   = GetIndexFromArray(ctrls, "textbox_" + pregunta.cvePregunta);

                if (iIndex > -1)
                {
                    String          sRespuesta = ctrls[iIndex].Split('=')[1];
                    PI_BA_Respuesta respActual = new PI_BA_Respuesta();
                    respActual.cveRespuesta  = Guid.NewGuid().ToString();
                    respActual.cvePregunta   = pregunta.cvePregunta;
                    respActual.cveAplicacion = aplicacionNueva.cveAplicacion;
                    respActual.Valor         = Server.UrlDecode(sRespuesta);
                    respuestas.Add(respActual);

                    ltRespuestas.Add(sRespuesta);
                }
            }

            if (ltRespuestas.Count == preguntas.Count)
            {
                String sNombreArchivo = UploadFile();

                if (sNombreArchivo != "Error")
                {
                    aplicacionNueva.NombreArchivo = sNombreArchivo;
                    AplicacionService.CrearAplicacion(aplicacionNueva, respuestas);
                    Response.Redirect("AplicacionesCandidato.aspx?r=true", false);
                }
            }
        }
Example #13
0
 protected void SaveChanges(object sender, EventArgs e)
 {
     try
     {
         formaID = Request.QueryString["p"];
         Guarda_Jueces();
         Guarda_Formulario();
         AplicacionService.CambiarNombreCategoria(idCategoria, tbCategoria.Text);
         Response.Redirect("AdministraFormulario.aspx?p=" + formaID + "&s=" + "success", false);
     }
     catch (Exception Ex)
     {
         Console.WriteLine("Catched Exception: " + Ex.Message + Environment.NewLine);
         Response.Redirect("AdministraFormulario.aspx?p=" + formaID + "&s=" + "failed", false);
     }
 }
Example #14
0
        protected void GanadorBtn_Click(object sender, EventArgs e)
        {
            var cveAppSeleccionada = hiddenControl.Value;
            var cveCategoria       = Request.QueryString["c"];

            try
            {
                AplicacionService.AsignarGanadorCategoria(cveCategoria, cveAppSeleccionada);
                Response.Redirect("AdministraGanadorCategoria.aspx?c=" + cveCategoria + "&sg=success", false);
            }
            catch (Exception Ex)
            {
                Console.WriteLine("Catched Exception: " + Ex.Message + Environment.NewLine);
                Response.Redirect("AdministraGanadorCategoria.aspx?c=" + cveCategoria + "&sg=failed", false);
            }
        }
Example #15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // Verificar si ya expiro la sesion
            if (Session.Contents.Count == 0)
            {
                Response.Redirect("~/WebForms/Error/Error401.aspx", false);
            }

            MasterPage = (MP_Global)Page.Master;
            if (!IsPostBack)
            {
                // revisar la primera vez que se carga la pagina que se haya iniciado sesion con cuenta de candidato
                if (Session[StringValues.RolSesion] != null)
                {
                    if (Session[StringValues.RolSesion].ToString() != StringValues.RolCandidato)
                    {
                        // si no es candidato, redireccionar a login
                        Response.Redirect("~/WebForms/Login.aspx", false);
                    }
                }
                else
                {
                    Response.Redirect("~/WebForms/Login.aspx", false);
                }
                // confirmar que la aplicacion haya sido rechazada
                String idApp = Request.QueryString["aplicacion"];

                String sCategoriaID = AplicacionService.GetCveCategoriaByAplicacion(idApp);

                if (sCategoriaID != null)
                {
                    var premio    = ConvocatoriaService.GetPremioByCategoria(sCategoriaID);
                    var categoria = ConvocatoriaService.GetCategoriaById(sCategoriaID);

                    if (premio != null && categoria != null)
                    {
                        if (AplicacionService.GetEsRechazadoByAplicacion(idApp))
                        {
                            CrearFormulario(sCategoriaID, premio, categoria);
                            return;
                        }
                    }
                }
                Response.Redirect("inicioCandidato.aspx", false);
            }
        }
Example #16
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>"));
        }
Example #17
0
        protected void EnviarBttn_Click(object sender, EventArgs e)
        {
            // actualizar archivo
            string sArchivo = UploadFile();

            if (sArchivo != null)
            {
                if (sArchivo != "Error")
                {
                    AplicacionService.UpdateAplicacionArchivo(Request.QueryString["aplicacion"], sArchivo);
                }
                else
                {
                    return;
                }
            }

            // modificar el texto de las respuestas
            // obtener string con controles en Request
            string[] ctrls = Request.Form.ToString().Split('&');
            // obtener la lista de preguntas para la categoria y obtener los controles en base a su ID
            var preguntas = AplicacionService.GetFormularioByCategoria(AplicacionService.GetCveCategoriaByAplicacion(Request.QueryString["aplicacion"]));

            foreach (var pregunta in preguntas)
            {
                int iIndex = GetIndexFromArray(ctrls, "textbox_" + pregunta.cvePregunta);

                if (iIndex > -1)
                {
                    // obtener el valor del control
                    string ctrlValue = ctrls[iIndex].Split('=')[1];
                    //Decode the Value
                    ctrlValue = Server.UrlDecode(ctrlValue);
                    // guardar cambios en la respuesta
                    AplicacionService.SaveRespuestaModificada(Request.QueryString["aplicacion"], pregunta.cvePregunta, ctrlValue);
                }
            }

            // cambiar status de la aplicacion a Modificado
            AplicacionService.SetAplicacionModificada(Request.QueryString["aplicacion"]);

            // redireccionar a inicio
            Response.Redirect("AplicacionesCandidato.aspx?r=true", false);
        }
Example #18
0
 public static String crearHtmlMapaEstados(PI_BA_Aplicacion ap, String estados)
 {
     return("<div class=\"panel-heading\">" +
            "<h3 class=\"panel-title\">" +
            "Premio: <strong>" + AplicacionService.GetPremioByClaveCategoria(ap.cveCategoria).Nombre.ToString() + "</strong>" +
            "<strong> / </strong>" +
            "Categoria: <strong>" + AplicacionService.GetCategoriaByClaveCategoria(ap.cveCategoria).Nombre.ToString() + "</strong>" +
            "</h3>" +
            "</div>" +
            "<div class=\"panel-body\">" +
            "<div class=\"div-img\">" +
            "<img src = /AwardPictures/" + AplicacionService.GetPremioByClaveCategoria(ap.cveCategoria).NombreImagen.ToString() + " class=\"img-square\"/>" +
            "</div>" +
            "<div class=\"div-bpm\">" +
            "Estado de la solicitud:" +
            estados +
            "</div>" +
            "</div>");
 }
Example #19
0
        protected void bttnEnviarRechazo_Click(object sender, EventArgs e)
        {
            String aplicacionID = IdAppHidden.Value.ToString();
            String razonRechazo = razonTB.Text.ToString();

            // cambiar el status de la aplicacion a Rechazado
            AplicacionService.RechazarAplicacion(aplicacionID);

            // enviar correo notificando al candidato de la aplicacion
            var    aplicacion  = AplicacionService.ObtenerAplicacionDeClave(aplicacionID);
            string razon       = razonTB.Text.ToString();
            var    MailService = new MailService();

            MailService.EnviarCorreoRechazarAplicacion(aplicacion, razon);

            // cargar nuevamente el acordeon de respuestas forzando un postback
            razonTB.Text = "";
            Response.Redirect(Request.Url.AbsoluteUri, false);
        }
Example #20
0
        private void CrearArchivo()
        {
            LiteralControl lcPregunta = new LiteralControl("<div class='col-sm-4'> <h5> <strong>" + "Archivo proporcionado:" + "</strong> </h5>");

            PanelArchivo.Controls.Add(lcPregunta);

            string appId = Request.QueryString["a"];
            var    app   = AplicacionService.GetAplicacionById(appId);

            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 = appId;
            PanelArchivo.Controls.Add(lbDocumento);
            PanelArchivo.Controls.Add(new LiteralControl("</div> </div> <br/>"));
        }
Example #21
0
        protected void LoadInfo(string formaID, PI_BA_Premio premio, PI_BA_Convocatoria convocatoria, PI_BA_Categoria categoria, PI_BA_Forma forma)
        {
            var listaPreguntas = AplicacionService.GetFormularioByCategoria(categoria.cveCategoria);

            if (listaPreguntas != null)
            {
                foreach (var pregunta in listaPreguntas)
                {
                    Panel panel = new Panel();
                    panel.CssClass = "list-group-item";
                    TextBox input = new TextBox();
                    input.Text     = pregunta.Texto;
                    input.CssClass = "pregunta form-control";
                    input.Attributes.Add("type", "text");
                    input.Attributes.Add("name", "mytext");
                    input.Attributes.Add("placeholder", "Pregunta");
                    input.Attributes.Add("id", pregunta.cvePregunta);
                    LiteralControl lit    = new LiteralControl("<input class='pregunta form-control' type='text' name='mytext' placeholder='Pregunta' value='" + pregunta.Texto + "'/>");
                    LiteralControl remove = new LiteralControl("<a href='#' class='remove'>Eliminar</a>");
                    panel.Controls.Add(lit);
                    panel.Controls.Add(remove);
                    simpleList.Controls.Add(panel);
                }
            }
            else
            {
                Panel panel = new Panel();
                panel.CssClass = "list-group-item";
                TextBox input = new TextBox();
                input.CssClass = "pregunta form-control";
                input.Attributes.Add("type", "text");
                input.Attributes.Add("name", "mytext");
                input.Attributes.Add("placeholder", "Pregunta");
                input.Attributes.Add("id", "pregunta_" + numPregunta);
                LiteralControl remove = new LiteralControl("<a href='#' class='remove'>Eliminar</a>");
                panel.Controls.Add(input);
                panel.Controls.Add(remove);
                simpleList.Controls.Add(panel);
            }
            numPregunta++;
        }
Example #22
0
        public void DownloadFile(object sender, CommandEventArgs e)
        {
            var      app        = AplicacionService.GetAplicacionById(e.CommandArgument.ToString());
            string   FileName   = app.NombreArchivo;
            string   FilePath   = Server.MapPath("~/UsersAppsFiles/") + FileName;
            FileInfo fs         = new FileInfo(FilePath);
            int      FileLength = Convert.ToInt32(fs.Length);

            if (File.Exists(FilePath))
            {
                Response.Clear();
                Response.BufferOutput = false;
                Response.ContentType  = "application/octet-stream";
                Response.AddHeader("Content-Length", FileLength.ToString());
                Response.AddHeader("content-disposition", "attachment; filename=" + FileName);
                Response.TransmitFile(FilePath);
                Response.Flush();
            }
            else
            {
                MasterPage.ShowMessage("Error", "El servidor no encontró el archivo.");
            }
        }
Example #23
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // Verificar si ya expiro la sesion
            if (Session.Contents.Count == 0)
            {
                Response.Redirect("~/WebForms/Error/Error401.aspx", false);
            }

            // Load Globals
            MasterPage    = (MP_Global)Page.Master;
            cveAplicacion = Request.QueryString["a"];

            // Load Page
            LoadFile();
            LoadMessages();

            if (!IsPostBack)
            {
                // Show Message
                if (int.TryParse(Request.QueryString["m"], out cveMensaje))
                {
                    if (cveMensaje >= 0 && cveMensaje < MessagesList.Count)
                    {
                        MasterPage.ShowMessage(MessagesList[cveMensaje].Item1, MessagesList[cveMensaje].Item2);
                    }
                }

                // revisar la primera vez que se carga la pagina que se haya iniciado sesion con cuenta de juez
                if (Session[StringValues.RolSesion] != null)
                {
                    if (Session[StringValues.RolSesion].ToString() != StringValues.RolJuez)
                    {
                        // si no es juez, redireccionar a inicio general
                        Response.Redirect("~/WebForms/Login.aspx", false);
                    }
                }
                else
                {
                    Response.Redirect("~/WebForms/Login.aspx", false);
                }

                // Mostrar Caificación guardada / Mostrar botones correctos
                if (cveAplicacion != null)
                {
                    String sCategoriaID = AplicacionService.GetCveCategoriaByAplicacion(cveAplicacion);
                    if (sCategoriaID != null)
                    {
                        var premio    = ConvocatoriaService.GetPremioByCategoria(sCategoriaID);
                        var categoria = ConvocatoriaService.GetCategoriaById(sCategoriaID);

                        if (premio != null && categoria != null)
                        {
                            string sMail           = Session[StringValues.CorreoSesion].ToString();
                            var    listaCategorias = EvaluacionService.GetCategoriaByJuez(sMail);
                            bool   bValidJudge     = CheckValidCategory(listaCategorias, sCategoriaID);
                            var    Eval            = EvaluacionService.GetEvaluacionByAplicacionAndJuez(sMail, cveAplicacion);
                            if (bValidJudge)
                            {
                                if (Eval != null)
                                {
                                    evaluateApplicationBtn.Visible  = false;
                                    modifiyEvaluationBtn.Visible    = true;
                                    aplicationEvaluationNumber.Text = Eval.Calificacion.ToString();
                                }
                                else
                                {
                                    evaluateApplicationBtn.Visible = true;
                                    modifiyEvaluationBtn.Visible   = false;
                                }

                                CrearFormulario(sCategoriaID, premio, categoria);
                                return;
                            }
                        }
                    }
                }
                Response.Redirect("inicioJuez.aspx", false);
            }
        }
Example #24
0
        protected void Guarda_Formulario()
        {
            formaID = Request.QueryString["p"];
            var forma = ConvocatoriaService.GetFormaByID(formaID);

            string categoriaID = forma.cveCategoria;

            if (categoriaID != null)
            {
                var categoria = ConvocatoriaService.GetCategoriaById(categoriaID);
                if (categoria != null)
                {
                    var convocatoria = ConvocatoriaService.GetConvocatoriaById(categoria.cveConvocatoria);
                    if (convocatoria != null)
                    {
                        var premio = ConvocatoriaService.GetPremioById(convocatoria.cvePremio);

                        if (premio != null)
                        {
                            string[] values = Request.Form.GetValues("mytext");
                            if (values != null)
                            {
                                var listaPreguntas       = AplicacionService.GetFormularioByCategoria(categoria.cveCategoria);
                                var nuevasPreguntasCount = values.Length;
                                var preguntasCount       = listaPreguntas.Count;
                                if (listaPreguntas != null)
                                {
                                    if (nuevasPreguntasCount == preguntasCount)
                                    {
                                        for (var i = 0; i < nuevasPreguntasCount; i++)
                                        {
                                            if (values[i] != "")
                                            {
                                                AplicacionService.GuardaPregunta(listaPreguntas[i].cvePregunta, values[i], i);
                                            }
                                        }
                                    }
                                    else if (nuevasPreguntasCount < preguntasCount)
                                    {
                                        var dif = preguntasCount - nuevasPreguntasCount;
                                        for (var i = 0; i < (preguntasCount - dif); i++)
                                        {
                                            if (values[i] != "")
                                            {
                                                AplicacionService.GuardaPregunta(listaPreguntas[i].cvePregunta, values[i], i);
                                            }
                                        }
                                        for (var i = nuevasPreguntasCount; i < preguntasCount; i++)
                                        {
                                            AplicacionService.RemovePregunta(formaID, listaPreguntas[i].cvePregunta);
                                        }
                                    }
                                    else
                                    {
                                        var dif = nuevasPreguntasCount - preguntasCount;
                                        for (var i = 0; i < preguntasCount; i++)
                                        {
                                            if (values[i] != "")
                                            {
                                                AplicacionService.GuardaPregunta(listaPreguntas[i].cvePregunta, values[i], i);
                                            }
                                        }
                                        for (var i = preguntasCount; i < nuevasPreguntasCount; i++)
                                        {
                                            if (values[i] != "")
                                            {
                                                AplicacionService.InsertaPregunta(formaID, values[i], i);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Example #25
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // Verificar si ya expiro la sesion
            if (Session.Contents.Count == 0)
            {
                Response.Redirect("~/WebForms/Error/Error401.aspx", false);
            }

            MasterPage = (MP_Global)Page.Master;

            if (!IsPostBack)
            {
                // revisar la primera vez que se carga la pagina que se haya iniciado sesion con cuenta de admin
                if (Session[StringValues.RolSesion] != null)
                {
                    if (Session[StringValues.RolSesion].ToString() != StringValues.RolAdmin)
                    {
                        // si no es admin, redireccionar a inicio general
                        Response.Redirect("~/WebForms/Login.aspx", false);
                    }
                }
                else
                {
                    Response.Redirect("~/WebForms/Login.aspx", false);
                }
            }

            switch (Request.QueryString["s"])
            {
            case "success":
                MasterPage.ShowMessage("Aviso", "Los cambios fueron realizados con éxito.");
                break;

            case "failed":
                MasterPage.ShowMessage("Error", "El servidor encontró un error al procesar la solicitud.");
                break;
            }

            // Obtener Ids
            formaID = Request.QueryString["p"];
            var forma = ConvocatoriaService.GetFormaByID(formaID);

            idCategoria = forma.cveCategoria;
            String nombrePremio    = AplicacionService.GetPremioByClaveCategoria(idCategoria).Nombre;
            String nombreCategoria = AplicacionService.GetCategoriaByClaveCategoria(idCategoria).Nombre;

            // Nombre de Titulos
            nombrePremioCategoria.Controls.Add(new LiteralControl(
                                                   "<h3> <strong> Premio: </strong>" + nombrePremio + "</h3>" +
                                                   "<h4 style=\"display: inline;\"> <strong> Categoria: </strong> </h4>"
                                                   ));

            tbCategoria          = new TextBox();
            tbCategoria.CssClass = "form-control";
            tbCategoria.Style.Add("display", "inline-block");
            tbCategoria.Style.Add("font-size", "1.75em");
            tbCategoria.Style.Add("width", "570px");
            tbCategoria.Attributes.Add("type", "text");
            tbCategoria.Text = nombreCategoria;
            nombrePremioCategoria.Controls.Add(tbCategoria);

            LoadJudgeTable();

            if (!IsPostBack)
            {
                if (idCategoria != null)
                {
                    var categoria = ConvocatoriaService.GetCategoriaById(idCategoria);
                    if (categoria != null)
                    {
                        idCategoria = categoria.cveCategoria;
                        var convocatoria = ConvocatoriaService.GetConvocatoriaById(categoria.cveConvocatoria);
                        if (convocatoria != null)
                        {
                            var premio = ConvocatoriaService.GetPremioById(convocatoria.cvePremio);

                            if (premio != null)
                            {
                                LoadInfo(formaID, premio, convocatoria, categoria, forma);
                                return;
                            }
                        }
                    }
                }
                Response.Redirect("inicioAdmin.aspx", false);
            }
        }
Example #26
0
        private void SetForm(PI_BA_Premio premio, PI_BA_Categoria categoria)
        {
            litTituloPremio.Text    = "Premio " + premio.Nombre;
            litTituloCategoria.Text = "Categoría: " + categoria.Nombre;

            String emailCandidato = Session[StringValues.CorreoSesion].ToString();

            if (AplicacionService.CheckCandidatoInCategoria(emailCandidato, categoria.cveCategoria))
            {
                // mostrar error y ocultar boton de enviar
                alreadySubmittedLabel.Visible = true;
                EnviarBtn.Visible             = false;

                btnManager.Visible = false;
            }
            else
            {
                // vaciar coleccion de preguntas para evitar IDs repetidos
                PanelFormulario.Controls.Clear();

                // obtener lista de preguntas para la categoria y desplegar el formulario
                var preguntas = AplicacionService.GetFormularioByCategoria(categoria.cveCategoria);

                if (preguntas != null && preguntas.Count > 0)
                {
                    uploadFile.Visible = true;
                    short iNumber = 0;
                    foreach (var pregunta in preguntas)
                    {
                        Panel panel = new Panel();
                        panel.CssClass = "question-box";
                        panel.Attributes.Add("runat", "server");

                        LiteralControl h5 = new LiteralControl("<h5>" + (iNumber + 1) + ". " + pregunta.Texto + "</h5>");
                        panel.Controls.Add(h5);
                        LiteralControl p = new LiteralControl("<p>" + iMaxCharacters + " " + sCharactersRemainingMessage + "</p>");
                        panel.Controls.Add(p);

                        TextBox tb = new TextBox();
                        tb.ID        = "textbox_" + pregunta.cvePregunta;
                        tb.TextMode  = TextBoxMode.MultiLine;
                        tb.Rows      = 4;
                        tb.MaxLength = iMaxCharacters;
                        tb.CssClass  = "form-control form-text-area scrollbar-custom";
                        tb.Attributes.Add("onKeyUp", "updateCharactersLeft(this); validateAnswerCharacters(event);");
                        tb.Attributes.Add("maxlength", iMaxCharacters.ToString());
                        tb.Attributes.Remove("cols");
                        tb.Attributes.Add("runat", "server");
                        tb.Attributes.Add("onvalid", "this.setCustomValidity('Por favor, responde la pregunta')");

                        RequiredFieldValidator validator = new RequiredFieldValidator();
                        validator.ControlToValidate = tb.ID;

                        Panel pAlert = new Panel();
                        pAlert.CssClass = "alert alert-danger alert-no-answer";

                        LiteralControl lcText = new LiteralControl("<strong>Error:</strong> Por favor rellene este campo.");
                        pAlert.Controls.Add(lcText);

                        validator.Controls.Add(pAlert);

                        panel.Controls.Add(tb);
                        panel.Controls.Add(validator);

                        PanelFormulario.Controls.Add(panel);

                        iNumber++;
                    }
                }
            }
        }
Example #27
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);
            }
        }
Example #28
0
        /**
         * ObtenerHtmlMapaEstados
         * Regresa codigo html del mapa pertinente segun el estado actual de la aplicacion
         * Tipos de Mapas de estados posibles a mostrar:
         * 1) Solicitado - Aceptado - Veredicto
         * 2) Solicitado - Rechazado - Modificado - Aceptado - Veredicto
         * 3) Solicitado - Rechazado - Cerrado
         **/
        public static String obtenerHtmlMapaEstados(PI_BA_Aplicacion ap)
        {
            //obtener si las fechas de cierre de convocatoria y de veredicto final ya pasaron
            bool cierre    = AplicacionService.HasEndedByCategoria(ap.cveCategoria.ToString());
            bool veredicto = AplicacionService.HasWinnersByCategoria(ap.cveCategoria.ToString());

            if (ap.Status == StringValues.Solicitado)
            {
                //Si se ha solicitado el registro en la convocatoria : Mapa 1 - Solicitado
                return("<div class=\"panel panel-primary\">" +
                       crearHtmlMapaEstados(ap,
                                            "<ul class=\"nav nav-wizard bpm-process\">" +
                                            "<li class=\"active\"><a><div class=\"step\">" + StringValues.TituloSolicitado + "</div></a></li>" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloAceptado + "</div></a></li>" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloVeredicto + "</div></a></li>" +
                                            "</ul>" +
                                            StringValues.ExplicacionSolicitado) +
                       "</div>");
            }
            else if (ap.Status == StringValues.Aceptado && veredicto)
            {
                //Si el registro fue aceptado y ya se tiene un veredicto : Mapa 1 - Veredicto
                return("<div class=\"panel panel-success\">" +
                       crearHtmlMapaEstados(ap,
                                            "<ul class=\"nav nav-wizard bpm-process aceptado\">" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloSolicitado + "</div></a></li>" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloAceptado + "</div></a></li>" +
                                            "<li class=\"active\"><a><div class=\"step\">" + StringValues.TituloVeredicto + "</div></a></li>" +
                                            "</ul>" +
                                            StringValues.ExplicacionVeredicto) +
                       "</div>");
            }
            else if (ap.Status == StringValues.Aceptado && !veredicto)
            {
                //Si el registro fue aceptado pero no se tiene un veredicto : Mapa 1 - Aceptado
                return("<div class=\"panel panel-success\">" +
                       crearHtmlMapaEstados(ap,
                                            "<ul class=\"nav nav-wizard bpm-process aceptado\">" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloSolicitado + "</div></a></li>" +
                                            "<li class=\"active\"><a><div class=\"step\">" + StringValues.TituloAceptado + "</div></a></li>" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloVeredicto + "</div></a></li>" +
                                            "</ul>" +
                                            StringValues.ExplicacionAceptado) +
                       "</div>");
            }
            else if (ap.Status == StringValues.Rechazado && cierre)
            {
                //Si el registro requiere cambios pero ya ha cerrado la fecha de convocatoria : Mapa 3 - Cerrado
                return("<div class=\"panel panel-danger\">" +
                       crearHtmlMapaEstados(ap,
                                            "<ul class=\"nav nav-wizard bpm-process cambios\">" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloSolicitado + "</div></a></li>" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloRechazado + "</div></a></li>" +
                                            "<li class=\"active\"><a><div class=\"step\">" + StringValues.TituloCerrado + "</div></a></li>" +
                                            "</ul>" +
                                            StringValues.ExplicacionCerrado) +
                       "</div>");
            }
            else if (ap.Status == StringValues.Rechazado && !cierre)
            {
                //Si el registro requiere cambios y no ha cerrado la fecha de convocatoria : Mapa 2 - Rechazado
                return("<div class=\"panel panel-danger\">" +
                       crearHtmlMapaEstados(ap,
                                            "<ul class=\"nav nav-wizard bpm-process cambios\">" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloSolicitado + "</div></a></li>" +
                                            "<li class=\"active\"><a><div class=\"step\">" + StringValues.TituloRechazado + "</div></a></li>" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloModificado + "</div></a></li>" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloAceptado + "</div></a></li>" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloVeredicto + "</div></a></li>" +
                                            "</ul>" +
                                            StringValues.ExplicacionRechazado +
                                            "<a href=\"CorrigeAplicacion.aspx?aplicacion=" +
                                            ap.cveAplicacion +
                                            "\">Haz clic aquí para modificarla.</a>") +
                       "</div>");
            }
            else if (ap.Status == StringValues.Modificado)
            {
                //Si se han enviado las modificaciones para revision : Mapa 2 - Modificado
                return("<div class=\"panel panel-warning\">" +
                       crearHtmlMapaEstados(ap,
                                            "<ul class=\"nav nav-wizard bpm-process modificada\">" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloSolicitado + "</div></a></li>" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloRechazado + "</div></a></li>" +
                                            "<li class=\"active\"><a><div class=\"step\">" + StringValues.TituloModificado + "</div></a></li>" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloAceptado + "</div></a></li>" +
                                            "<li><a><div class=\"step\">" + StringValues.TituloVeredicto + "</div></a></li>" +
                                            "</ul>" +
                                            StringValues.ExplicacionModificado) +
                       "</div>");
            }
            else
            {
                return("");
            }
        }
Example #29
0
        private void CargarAplicaciones(string sMail, string sCategoriaID)
        {
            var categoria = AplicacionService.GetCategoriaByClaveCategoria(sCategoriaID);
            var premio    = AplicacionService.GetPremioByClaveCategoria(sCategoriaID);

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

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

            var  listaCategorias = EvaluacionService.GetCategoriaByJuez(sMail);
            bool bValidJudge     = CheckValidCategory(listaCategorias, sCategoriaID);

            if (bValidJudge)
            {
                // obtener aplicaciones para cierta categoria
                var aplicacionesACategoria = ConvocatoriaService.ObtenerAplicacionesPorCategoria(sCategoriaID);

                // obtener candidatos ligados a estas aplicaciones
                var listaCandidatos = ConvocatoriaService.JuezObtenerCandidatosPorAplicaciones(aplicacionesACategoria);
                if (listaCandidatos != null)
                {
                    foreach (var cand in listaCandidatos)
                    {
                        TableRow tr = new TableRow();
                        tr.Attributes.Add("onclick", "window.open('EvaluaAplicacion.aspx?a=" + cand.Key.cveAplicacion + "');");
                        // profile image column
                        TableCell tdIP = new TableCell();
                        tdIP.CssClass = "dt-profile-pic";

                        Image ipImage = new Image();
                        if (cand.Value.NombreImagen != null)
                        {
                            ipImage.ImageUrl = "/ProfilePictures/" + cand.Value.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.Value.Nombre;

                        // last name column
                        TableCell tdLastName = new TableCell();
                        tdLastName.Text = cand.Value.Apellido;

                        // status column
                        TableCell tdStatus = new TableCell();
                        var       Eval     = EvaluacionService.GetEvaluacionByAplicacionAndJuez(sMail, cand.Key.cveAplicacion);
                        if (Eval != null)
                        {
                            tdStatus.Style.Add("color", "#4caf50");
                            LiteralControl lcStatus = new LiteralControl("<strong> <div style=\"display: none; \"> 0 </div> Completo </strong>");
                            tdStatus.Controls.Add(lcStatus);
                        }
                        else
                        {
                            tdStatus.Style.Add("color", "#f44336");
                            LiteralControl lcStatus = new LiteralControl("<strong> <div style=\"display: none; \"> 2 </div> Nuevo </strong>");
                            tdStatus.Controls.Add(lcStatus);
                        }

                        tr.Controls.Add(tdIP);
                        tr.Controls.Add(tdName);
                        tr.Controls.Add(tdLastName);
                        tr.Controls.Add(tdStatus);

                        listaParticipantesTableBody.Controls.Add(tr);
                    }
                }
            }
            else
            {
                Response.Redirect("InicioJuez.aspx", false);
            }
        }
Example #30
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);
            }
        }