예제 #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>"));
        }
예제 #2
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);
        }
예제 #3
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>"));
        }
예제 #4
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/>"));
        }
예제 #5
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.");
            }
        }
예제 #6
0
        private void CrearFormulario(String sCategoriaID, PI_BA_Premio premio, PI_BA_Categoria categoria)
        {
            // vaciar coleccion de preguntas para evitar IDs repetidos
            PanelFormulario.Controls.Clear();

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

            string idApp    = Request.QueryString["aplicacion"];
            string FileName = AplicacionService.GetAplicacionById(idApp).NombreArchivo;

            if (FileName != null)
            {
                ClientScript.RegisterStartupScript(GetType(), "hwa", "writeName('" + FileName + "');", true);
            }

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

            if (preguntas != null)
            {
                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.Add("runat", "server");
                    tb.Attributes.Add("onvalid", "this.setCustomValidity('Por favor, responde la pregunta')");
                    tb.Attributes.Remove("cols");

                    var respuesta = AplicacionService.GetRespuestaByPreguntaAndAplicacion(pregunta.cvePregunta, Request.QueryString["aplicacion"]);
                    if (respuesta != null)
                    {
                        tb.Text = respuesta.Valor;
                    }

                    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++;
                }
            }
        }