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++; } } }
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); }
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>")); }
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); } } } }
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); } }
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); }
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); }
protected void Guarda_Jueces() { List <String> idsJuecesAsigandos = hiddenControl.Value.Split(',').ToList(); AplicacionService.RemoveJuezCategoria(idCategoria); if (idsJuecesAsigandos.Count > 0 && idsJuecesAsigandos != null) { AplicacionService.AsignarJuecesCategoria(idCategoria, idsJuecesAsigandos); } }
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++; } }
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); }
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); } } } }
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); } } }
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); } }
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); } }
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); } }
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>")); }
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); }
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>"); }
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); }
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/>")); }
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++; }
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."); } }
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); } }
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); } } } } } } } } } }
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); } }
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++; } } } }
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); } }
/** * 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(""); } }
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); } }
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); } }