示例#1
0
        protected void BackBtn_Click(object sender, EventArgs e)
        {
            string sConvocatoriaID = Request.QueryString["c"];
            var    convocatoria    = ConvocatoriaService.GetConvocatoriaById(sConvocatoriaID);

            Response.Redirect("AdministraConvocatorias.aspx?p=" + convocatoria.cvePremio, false);
        }
示例#2
0
        protected void EnviarBtn_Click(object sender, EventArgs e)
        {
            if (tbAwardTitle.Text.Length > 0 && tbAwardDescription.Text.Length > 0)
            {
                String sNombreImagen = UploadImage();

                // Crear Premio
                if (sNombreImagen != "Error")
                {
                    PI_BA_Premio premio = new PI_BA_Premio();
                    premio.cvePremio       = Guid.NewGuid().ToString();
                    premio.Nombre          = tbAwardTitle.Text;
                    premio.Descripcion     = tbAwardDescription.Text;
                    premio.NombreImagen    = sNombreImagen;
                    premio.UsuarioCreacion = Session[StringValues.CorreoSesion].ToString();
                    premio.UsuarioEdicion  = Session[StringValues.CorreoSesion].ToString();
                    premio.FechaCreacion   = DateTime.Now;
                    premio.FechaEdicion    = DateTime.Now;
                    ConvocatoriaService.CreatePremio(premio);

                    ResetFields();
                    Response.Redirect("AdministraPremios.aspx", false);
                }
            }
        }
示例#3
0
        private void CreateCategory()
        {
            PI_BA_Categoria categoria = new PI_BA_Categoria();

            categoria.cveCategoria    = Guid.NewGuid().ToString();
            categoria.Nombre          = tbCategoryTitle.Text;
            categoria.cveConvocatoria = Request.QueryString["c"];
            categoria.FechaCreacion   = DateTime.Now;
            categoria.UsuarioCreacion = Session[StringValues.CorreoSesion].ToString();
            categoria.FechaEdicion    = DateTime.Now;
            categoria.UsuarioEdicion  = Session[StringValues.CorreoSesion].ToString();
            ConvocatoriaService.CreateCategoria(categoria);

            PI_BA_Forma forma = new PI_BA_Forma();

            forma.cveForma        = Guid.NewGuid().ToString();
            forma.cveCategoria    = categoria.cveCategoria;
            forma.FechaCreacion   = DateTime.Now;
            forma.UsuarioCreacion = Session[StringValues.CorreoSesion].ToString();
            forma.FechaEdicion    = DateTime.Now;
            forma.UsuarioEdicion  = Session[StringValues.CorreoSesion].ToString();
            ConvocatoriaService.CreateForma(forma);

            tbCategoryTitle.Text = "";
        }
示例#4
0
        protected void GuardarBttn_Click(object sender, EventArgs e)
        {
            try
            {
                // Obtener el obj convocatoria actual
                var cvEditada = ConvocatoriaService.GetConvocatoriaById(Request.QueryString["c"]);

                // Actualizar los campos que el admin haya cambiado
                cvEditada.TituloConvocatoria = TituloNuevaConvocatoriaTB.Text.ToString();

                IFormatProvider FormatProvider = System.Globalization.CultureInfo.InvariantCulture;
                String          idParam        = "{0}";

                cvEditada.FechaInicio    = DateTime.ParseExact(String.Format(idParam, Request.Form["FechaInicioNuevaConvo"]), "dd-MM-yyyy", FormatProvider);
                cvEditada.FechaFin       = DateTime.ParseExact(String.Format(idParam, Request.Form["FechaFinNuevaConvo"]), "dd-MM-yyyy", FormatProvider);
                cvEditada.FechaVeredicto = DateTime.ParseExact(String.Format(idParam, Request.Form["FechaVeredicto"]), "dd-MM-yyyy", FormatProvider);

                cvEditada.FechaEdicion   = DateTime.Now;
                cvEditada.UsuarioEdicion = Session[StringValues.CorreoSesion].ToString();

                // guardar convocatoria editada
                ConvocatoriaService.ActualizarConvocatoria(cvEditada);

                // forzar el refresh de la pagina para traer los cambios
                Response.Redirect("AdministraCategorias.aspx?c=" + Request.QueryString["c"] + "&s=" + "success", false);
            }
            catch (Exception Ex)
            {
                Console.WriteLine("Catched Exception: " + Ex.Message + Environment.NewLine);
                Response.Redirect("AdministraCategorias.aspx?c=" + Request.QueryString["c"] + "&s=" + "failed", false);
            }
        }
示例#5
0
        protected void BackBtn_Click(object sender, EventArgs e)
        {
            formaID = Request.QueryString["p"];
            var cveCategoria    = ConvocatoriaService.GetFormaByID(formaID).cveCategoria;
            var cveConvocatoria = ConvocatoriaService.GetCategoriaById(cveCategoria).cveConvocatoria;

            Response.Redirect("AdministraCategorias.aspx?c=" + cveConvocatoria, false);
        }
示例#6
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++;
            }
        }
示例#7
0
        private void LoadAwards()
        {
            //awardList.Controls.Add();
            tbAwardDescription.Attributes.Add("MaxLength", "500");
            var premios = ConvocatoriaService.GetAllPremios();

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

                // Div encargado del diseño
                Panel pCreateItem = new Panel();
                pCreateItem.CssClass = "create-item";

                // Div encargado de la parte superior (imagen)
                Panel pUserHeader = new Panel();
                pUserHeader.CssClass = "award-header";

                Panel pAwardImage = new Panel();
                pAwardImage.CssClass = "award-thumbnail";
                if (p.NombreImagen != null)
                {
                    pAwardImage.Style.Add("background-image", "url(/AwardPictures/" + p.NombreImagen + ")");
                }
                else
                {
                    pAwardImage.Style.Add("background-image", "url(/Resources/img/default-award.png)");
                }

                pUserHeader.Controls.Add(pAwardImage);

                // Div encargado de la parte inferior (titulo)
                Panel pAwardTitle = new Panel();
                pAwardTitle.CssClass = "award-description-fix text-center";

                LiteralControl spanTitle = new LiteralControl("<span class=\"award-description\"> " + p.Nombre + "</span>");

                pAwardTitle.Controls.Add(spanTitle);

                pCreateItem.Controls.Add(pUserHeader);
                pCreateItem.Controls.Add(pAwardTitle);

                pCol.Controls.Add(pCreateItem);

                // Agregar al panel principal
                awardList.Controls.Add(new LiteralControl("<a href=AdministraConvocatorias.aspx?p=" + p.cvePremio + ">"));
                awardList.Controls.Add(pCol);
                awardList.Controls.Add(new LiteralControl("</a>"));
            }
        }
示例#8
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);
                }
            }

            // Cargar Formulario
            string sCategoriaID = Request.QueryString["c"];

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

                if (premio != null && categoria != null)
                {
                    SetForm(premio, categoria);
                }
                else
                {
                    Response.Redirect("inicioCandidato.aspx", false);
                }
            }
            else
            {
                Response.Redirect("inicioCandidato.aspx", false);
            }
        }
示例#9
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);
        }
示例#10
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);
                    }
                }
            }
        }
示例#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);
            }

            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);
            }
        }
示例#12
0
        private int GetAplicacionesAceptadas(string idCategoria)
        {
            int cantidad = 0;
            List <PI_BA_Aplicacion> apliciones = ConvocatoriaService.ObtenerAplicacionesPorCategoria(idCategoria);

            if (apliciones != null)
            {
                foreach (var aplicacion in apliciones)
                {
                    if (aplicacion.Status == "aceptada")
                    {
                        cantidad++;
                    }
                }
            }

            return(cantidad);
        }
示例#13
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);
                }

                string sConvocatoriaID = Request.QueryString["c"];
                if (sConvocatoriaID != null)
                {
                    var convocatoria = ConvocatoriaService.GetConvocatoriaById(sConvocatoriaID);
                    if (convocatoria != null)
                    {
                        var premio = ConvocatoriaService.GetPremioById(convocatoria.cvePremio);

                        if (premio != null)
                        {
                            LoadCategories(premio, convocatoria);
                            return;
                        }
                    }
                }
                Response.Redirect("inicioAdmin.aspx", false);
            }
        }
示例#14
0
        public bool EnviarCorreoRechazarAplicacion(PI_BA_Aplicacion aplicacion, String razon)
        {
            var candidato    = InformacionPersonalCandidatoService.GetCandidatoById(aplicacion.cveCandidato);
            var categoria    = ConvocatoriaService.GetCategoriaById(aplicacion.cveCategoria);
            var convocatoria = ConvocatoriaService.GetConvocatoriaById(categoria.cveConvocatoria);
            var premio       = ConvocatoriaService.GetPremioByCategoria(categoria.cveCategoria);

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

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

            return(EnviarCorreo(toMail, titulo, cuerpo));
        }
示例#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);
            }

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

                // Tab Categorias Pendientes
                var categoriesP = ConvocatoriaService.GetCategoriasPendientes();
                GetPendingCategories(categoriesP, "PanelCategoriasPendientes");

                // Tab Categorias Termindas
                var categories = ConvocatoriaService.GetCategorias();
                List <PI_BA_Categoria> categoriesT = new List <PI_BA_Categoria>();
                foreach (var item in categories)
                {
                    if (item.cveAplicacionGanadora != null)
                    {
                        categoriesT.Add(item);
                    }
                }
                GetPendingCategories(categoriesT, "PanelCategoriasTerminadas");
            }
        }
示例#16
0
        protected void GuardarNuevaBttn_Click(object sender, EventArgs e)
        {
            // Verificar que todos los campos tengan datos
            if (TituloNuevaConvocatoriaTB.Text != null && TituloNuevaConvocatoriaTB.Text != "" &&
                Request.Form["FechaInicioNuevaConvo"] != null && Request.Form["FechaInicioNuevaConvo"] != "" &&
                Request.Form["FechaFinNuevaConvo"] != null && Request.Form["FechaFinNuevaConvo"] != "" &&
                Request.Form["FechaVeredicto"] != null && Request.Form["FechaVeredicto"] != "")
            {
                // crear un nuevo objeto convocatoria y guardar sus datos
                var nuevaConvo = new PI_BA_Convocatoria();
                nuevaConvo.cveConvocatoria    = Guid.NewGuid().ToString();
                nuevaConvo.TituloConvocatoria = TituloNuevaConvocatoriaTB.Text.ToString();

                IFormatProvider FormatProvider = CultureInfo.InvariantCulture;
                String          idParam        = "{0}";

                nuevaConvo.FechaInicio    = DateTime.ParseExact(String.Format(idParam, Request.Form["FechaInicioNuevaConvo"]), "dd-MM-yyyy", FormatProvider);
                nuevaConvo.FechaFin       = DateTime.ParseExact(String.Format(idParam, Request.Form["FechaFinNuevaConvo"]), "dd-MM-yyyy", FormatProvider);
                nuevaConvo.FechaVeredicto = DateTime.ParseExact(String.Format(idParam, Request.Form["FechaVeredicto"]), "dd-MM-yyyy", FormatProvider);

                nuevaConvo.FechaCreacion   = DateTime.Now;
                nuevaConvo.UsuarioCreacion = Session[StringValues.CorreoSesion].ToString();
                nuevaConvo.FechaEdicion    = DateTime.Now;
                nuevaConvo.UsuarioEdicion  = Session[StringValues.CorreoSesion].ToString();
                // guardar nueva convocatoria
                ConvocatoriaService.CreateConvocatoria(premioActual.cvePremio, nuevaConvo);

                // limpiar campos de nueva convocatoria
                TituloNuevaConvocatoriaTB.Text = "";

                // forzar el refresh de la pagina para traer los cambios
                Response.Redirect("AdministraConvocatorias.aspx?p=" + premioActual.cvePremio);
            }
            else
            {
                Response.Redirect("AdministraConvocatorias.aspx?p=" + premioActual.cvePremio + "&s=" + "failed3", false);
            }
        }
示例#17
0
        protected void UpdateInfo(object sender, EventArgs e)
        {
            try
            {
                // Verificar que todos los campos tengan datos
                if (TituloPremioSeleccionado.Text != null && TituloPremioSeleccionado.Text != "" &&
                    DescripcionPremioSeleccionado.Text != null && DescripcionPremioSeleccionado.Text != "")
                {
                    string imgUrl = UploadImage();

                    if (imgUrl == null || imgUrl == "")
                    {
                        imgUrl = premioActual.NombreImagen;
                    }

                    if (imgUrl != "Error")
                    {
                        string user = Session[StringValues.CorreoSesion].ToString();
                        ConvocatoriaService.ActualizarPremio(premioActual.cvePremio, TituloPremioSeleccionado.Text, DescripcionPremioSeleccionado.Text, imgUrl, user);
                        Response.Redirect("AdministraConvocatorias.aspx?p=" + premioActual.cvePremio + "&s=" + "success", false);
                    }
                    else
                    {
                        Response.Redirect("AdministraConvocatorias.aspx?p=" + premioActual.cvePremio + "&s=" + "failed2", false);
                    }
                }
                else
                {
                    Response.Redirect("AdministraConvocatorias.aspx?p=" + premioActual.cvePremio + "&s=" + "failed3", false);
                }
            }
            catch (Exception Ex)
            {
                Console.WriteLine("Catched Exception: " + Ex.Message + Environment.NewLine);
                Response.Redirect("AdministraConvocatorias.aspx?p=" + premioActual.cvePremio + "&s=" + "failed", false);
            }
        }
示例#18
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;

            // obtener el premio usando el query string de su id
            String idPremio = Request.QueryString["p"];

            premioActual = ConvocatoriaService.GetPremioById(idPremio);

            // 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;

            case "failed2":
                MasterPage.ShowMessage("Error", "La imagen proporcionada debe estar en formato PNG, BMP o JPG.");
                break;

            case "failed3":
                MasterPage.ShowMessage("Error", "Debes llenar todos los campos.");
                break;
            }

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

                if (premioActual != null)
                {
                    // Nombre & Descripcion Premio
                    TituloPremioSeleccionado.Text      = premioActual.Nombre;
                    DescripcionPremioSeleccionado.Text = premioActual.Descripcion;

                    // Imagen Premio
                    if (premioActual.NombreImagen != null)
                    {
                        avatarImage.Style.Add("background-image", "url(/AwardPictures/" + premioActual.NombreImagen + ")");
                    }
                    else
                    {
                        avatarImage.Style.Add("background-image", "url(/Resources/img/default-award.png)");
                    }

                    // Cargar lista de convocatorias
                    var convocatoriasPremio = ConvocatoriaService.GetConvocatoriasPremio(idPremio);
                    foreach (var convocatoria in convocatoriasPremio)
                    {
                        Prueba.Controls.Add(new LiteralControl(
                                                "<tr onclick=\"window.location.assign('AdministraCategorias.aspx?c=" + convocatoria.cveConvocatoria + "'); \">" +
                                                "<td class=\"dt-profile-pic\">" +
                                                "<img src = \"/Resources/img/trophy.png\" class=\"avatar img-circle\" alt=\"avatar\" style=\"max-width: 28px;\">" +
                                                "</td>" +
                                                "<td>" + convocatoria.TituloConvocatoria.ToString() + "</td>" +
                                                "<td>" + FormatearStringFecha(convocatoria.FechaInicio.ToString()) + "</td>" +
                                                "<td>" + FormatearStringFecha(convocatoria.FechaFin.ToString()) + "</td>" +
                                                "<td>" + FormatearStringFecha(convocatoria.FechaVeredicto.ToString()) + "</td>" +
                                                ConvocatoriaStatus(convocatoria.FechaInicio, convocatoria.FechaVeredicto) +
                                                "</tr>"
                                                ));
                    }
                }
                else
                {
                    Response.Redirect("inicioAdmin.aspx", false);
                }
            }
        }
示例#19
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 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);
                }
            }

            // obtener lista de premios
            var listaPremios = ConvocatoriaService.GetAllPremios();
            var i            = 0;

            // crear un panel para cada premio con su link respectivo
            foreach (var premio in listaPremios)
            {
                // Si no hay convocatoria, no muestro el premio
                var conv = ConvocatoriaService.GetMostRecentConvocatoria(premio.cvePremio);
                if (conv == null)
                {
                    continue;
                }

                // Checar si la convocatoria ya vencio
                if (conv.FechaInicio > DateTime.Today || conv.FechaFin < DateTime.Today)
                {
                    continue;
                }

                // Si no hay categorias en la convocatoria, no muestro el premio
                var listCat = ConvocatoriaService.GetCategoriasByConvocatoria(conv.cveConvocatoria);
                if (listCat == null)
                {
                    continue;
                }
                if (listCat.Count == 0)
                {
                    continue;
                }

                Literal lit = new Literal();

                // Un panel para cada premio (imagen, descripcion y boton de detalle)
                lit.Text = "<div class='col-md-6'>" +
                           "<div class='blockquote-box clearfix' style=''>" +
                           "<div class=\"col-sm-4 prem-img\">" +
                           "<img src = /AwardPictures/" + premio.NombreImagen + " class=\"img-square\" style=\"margin-top: 15px; margin-bottom: 15px; \"/>" +
                           "</div>" +
                           "<div class=\"tab-content col-sm-8\">" +
                           "<h4>Premio: <strong>" + premio.Nombre + "</strong></h4>" +
                           "<p class='descPremio'>" + premio.Descripcion + "</p>" +
                           "<div class='div-prem-btn'>" +
                           "<button id = '" + premio.cvePremio + "' type = 'button' class='btn btn-sm btn-primary'  data-toggle='modal' data-target='#myModal" + i + "'>" +
                           "Detalles" +
                           "</button>" +
                           "</div>" +
                           "</div>" +
                           "</div>" +
                           "</div>";
                colPremio.Controls.Add(lit);

                // Encabezado y cuerpo del modal
                Literal lit2 = new Literal();
                lit2.Text = "<div class='modal fade' id='myModal" + i + "' tabindex='-1' role='dialog' aria-labelledby='myModalLabel'>" +
                            "<div class='modal-dialog' role='document'>" +
                            "<div class='modal-content'>" +
                            "<div class='modal-header text-center'>" +
                            "<button type='button' class='close' data-dismiss='modal' aria-label='Close'>" +
                            "<span aria-hidden='true'>&times;</span>" +
                            "</button>" +
                            "<h3 class='modal-title' id='myModalLabel'>" + premio.Nombre + "</h3>" +
                            "<hr class='shorthr'>" +
                            "</div>" +
                            "<div class='modal-body'>" +
                            "<p>" +
                            premio.Descripcion +
                            "</p>" +
                            "<div class='form-group'>" +
                            "<label for='sel" + i + "'> Selecciona la categoria correspondiente:</label>" +
                            "<select class='form-control' onchange='changeAnchor(this,\"" + premio.cvePremio + "\")' id ='sel" + i + "'>";
                modalList.Controls.Add(lit2);

                // Agregar por cada categoria, la opcion en el dropdown
                foreach (var cat in listCat)
                {
                    Literal litCa = new Literal();
                    litCa.Text = "<option id='" + cat.cveCategoria + "'>" + cat.Nombre + "</option>";
                    modalList.Controls.Add(litCa);
                }

                // Pie del modal
                Literal lit3 = new Literal();
                lit3.Text = "</select></div></div>" +
                            "<div class='modal-footer'>" +
                            "<button type='button' class='btn btn-default' style=\"margin-right: 10px;\" data-dismiss='modal'>" +
                            "Cancelar" +
                            "</button>" +
                            "<a id='" + premio.cvePremio + "' href='Formulario.aspx?c=" + listCat[0].cveCategoria + "'>" +
                            "<button type='button' class='btn btn-primary'>" +
                            "Aplicar" +
                            "</button>" +
                            "</a>" +
                            "</div>" +
                            "</div></div></div>";
                modalList.Controls.Add(lit3);

                i = i + 1;
            }
        }
示例#20
0
        private void CargarAplicaciones()
        {
            // obtener las categorias asociadas al juez actual
            var listaCategorias = EvaluacionService.GetCategoriaByJuez(Session[StringValues.CorreoSesion].ToString());

            // crear un TabPanel por cada categoria

            List <Premio> listaPremios = new List <Premio>();
            bool          categoriaAgregada;
            var           today = DateTime.Today;

            if (listaCategorias != null)
            {
                foreach (var categoria in listaCategorias)
                {
                    var convocatoria = ConvocatoriaService.GetConvocatoriaById(categoria.cveConvocatoria);

                    // Checar si la convocatoria ya vencio
                    if (!(convocatoria.FechaInicio > today) && !(convocatoria.FechaVeredicto < today))
                    {
                        categoriaAgregada = false;

                        foreach (var premio in listaPremios)
                        {
                            if (premio.Nombre == EvaluacionService.GetPremioByCategoria(categoria.cveCategoria).Nombre)
                            {
                                premio.ListaCategorias.Add(categoria);
                                categoriaAgregada = true;
                            }
                        }
                        if (!categoriaAgregada)
                        {
                            List <PI_BA_Categoria> nuevaLista = new List <PI_BA_Categoria>();
                            nuevaLista.Add(categoria);
                            listaPremios.Add(new Premio(EvaluacionService.GetPremioByCategoria(categoria.cveCategoria), nuevaLista));
                        }
                    }
                }
            }


            ///
            if (listaPremios.Count > 0)
            {
                foreach (var premio in listaPremios)
                {
                    HtmlControl divControl = new HtmlGenericControl("div");
                    divControl.Visible = true;
                    premiosJuez.Controls.Add(divControl);
                    premiosJuez.Controls.Add(new LiteralControl("<div class=\"row\">" + CrearPremioHtml(premio) + "</div>"));
                }
            }
            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 se te ha asignado ningún premio para calificar. </h4>"));
                premiosJuez.Controls.Add(divControl);
            }
        }
示例#21
0
        private String CrearPremioHtml(Premio premio)
        {
            String htmlContent;
            String nombreImagen = AplicacionService.GetPremioByClaveCategoria(premio.ListaCategorias[0].cveCategoria).NombreImagen.ToString();

            htmlContent = "<div class=\"blockquote-box\">" +
                          "<div class=\"col-sm-2 prem-img\">" +
                          "<img src = /AwardPictures/" + nombreImagen + " class=\"img-square\" style=\"margin-top: 15px; margin-bottom: 15px; \"/>" +
                          "</div>" +
                          "<div class=\"tab-content col-sm-8 prem-info\">" +
                          "<div id = \"" + premio.GetHashCode() + "\" class=\"tab-pane fade in active\">" +
                          "<h4>Premio: <strong>" + premio.Nombre + "</strong></h4>" +
                          "<p>" +
                          premio.Descripcion +
                          "</p>" +
                          "</div>";

            foreach (var categoria in premio.ListaCategorias)
            {
                htmlContent += "<div id = \"" + categoria.cveCategoria + "\" class=\"tab-pane fade\">" +
                               "<div class=\"row\" style=\"margin-top:15px;\">" +

                               //<!-- Dashboard -->
                               "<div class=\"col-sm-6\" style=\"text-align: center; margin-bottom:-5px; margin-left:-25px;\">" +

                               //<!-- Todas -->
                               "<div style=\"margin-right:7.5px; margin-left:7.5px; width:95px; display: inline-block;\">" +
                               "<div class=\"panel panel-primary\">" +
                               "<div class=\"panel-heading\">" +
                               "<div class=\"row\" style=\"text-align: center;\">" +
                               "<div class=\"huge\">" + GetAplicacionesAceptadas(categoria.cveCategoria).ToString() + "</div>" +
                               "</div>" +
                               "</div>" +
                               "<a href=\"ListaParticipantes.aspx?c=" + categoria.cveCategoria + "\">" +
                               "<div class=\"panel-footer\" style=\"background-color: white;\">" +
                               "<span style = \"text-align: center;\"><strong> Totales </strong></span>" +
                               "<div class=\"clearfix\"></div>" +
                               "</div>" +
                               "</a>" +
                               "</div>" +
                               "</div>" +

                               //<!-- Completas -->
                               "<div style=\"margin-right:7.5px; margin-left:7.5px; width:95px; display: inline-block;\">" +
                               "<div class=\"panel panel-green\">" +
                               "<div class=\"panel-heading\">" +
                               "<div class=\"row\" style=\"text-align: center;\">" +
                               "<div class=\"huge\">" + EstadoAplicaciones(categoria.cveCategoria)[0].ToString() + "</div>" +
                               "</div>" +
                               "</div>" +
                               "<a href=\"ListaParticipantes.aspx?c=" + categoria.cveCategoria + "\">" +
                               "<div class=\"panel-footer\" style=\"background-color: white;\">" +
                               "<span style = \"text-align: center;\"><strong> Completas </strong></span>" +
                               "<div class=\"clearfix\"></div>" +
                               "</div>" +
                               "</a>" +
                               "</div>" +
                               "</div>" +

                               //<!-- Nuevas/Pendientes -->
                               "<div style=\"margin-right:7.5px; margin-left:7.5px; width:95px; display: inline-block;\">" +
                               "<div class=\"panel panel-yellow\">" +
                               "<div class=\"panel-heading\">" +
                               "<div class=\"row\" style=\"text-align: center;\">" +
                               "<div class=\"huge\">" + EstadoAplicaciones(categoria.cveCategoria)[1].ToString() + "</div>" +
                               "</div>" +
                               "</div>" +
                               "<a href=\"ListaParticipantes.aspx?c=" + categoria.cveCategoria + "\">" +
                               "<div class=\"panel-footer\" style=\"background-color: white;\">" +
                               "<span style = \"text-align: center;\"><strong> Nuevas </strong></span>" +
                               "<div class=\"clearfix\"></div>" +
                               "</div>" +
                               "</a>" +
                               "</div>" +
                               "</div>" +
                               "</div>" +

                               //<!-- Texto -->
                               "<div class=\"col-sm-6\">" +
                               "<p>" +
                               "<h4>Categoria: <strong>" + categoria.Nombre + "</strong></h4>" +
                               "Recuerda que tienes hasta el día <strong>" + FormatearStringFecha(ConvocatoriaService.GetConvocatoriaById(categoria.cveConvocatoria).FechaVeredicto.ToString()) + "</strong> para evaluar todas tus aplicaciones." +
                               "</p>" +

                               // <!-- Botton -->
                               "<span class=\"pull-right\">" +
                               "<a class=\"btn btn-primary\"  href=\"ListaParticipantes.aspx?c=" + categoria.cveCategoria + "\" style=\"margin-top:5px; margin-bottom:15px;\">Ver Aplicaciones</a>" +
                               "</span>" +
                               "</div>" +
                               "</div>" +
                               "</div>";
            }

            htmlContent += "</div>" +
                           "<div class=\"vtab-row col-sm-2 prem-tabs\">" +
                           "<ul class=\"nav nav-tabs tabs-right\" style=\"text-align: right;\">" +
                           "<li class=\"active\"><a href = \"#" + premio.GetHashCode() + "\" data-toggle=\"tab\">Info General</a></li>";

            foreach (var categoria in premio.ListaCategorias)
            {
                htmlContent += "<li>" +
                               "<a href = \"#" + categoria.cveCategoria + "\" data-toggle= \"tab\"> " + categoria.Nombre +
                               " <span class=\"badge\" style=\"font-weight: bold;\">" +
                               GetAplicacionesAceptadas(categoria.cveCategoria) +
                               "</span>" +
                               "</a>" +
                               "</li>";
            }

            htmlContent += "</ul>" +
                           "</div>" +
                           "</div>";

            return(htmlContent);
        }
示例#22
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);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
示例#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);
            }

            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);
            }
        }
示例#24
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);
            }
        }
示例#25
0
        private void GetPendingCategories(List <PI_BA_Categoria> categories, string panel)
        {
            // Por default Pendientes
            var panelControl = PanelCategoriasPendientes;

            if (panel == "PanelCategoriasTerminadas")
            {
                panelControl = PanelCategoriasTerminadas;
            }

            if (categories != null)
            {
                if (categories.Count > 0)
                {
                    List <CategoriasPendientes> ctgPendientes = new List <CategoriasPendientes>();
                    foreach (var c in categories)
                    {
                        var premioActual = ConvocatoriaService.GetPremioByCategoria(c.cveCategoria);
                        // si ya tengo el premio almenos una vez, agrego la categoria
                        if (CheckExistenceInList(premioActual, ctgPendientes))
                        {
                            foreach (var ctg in ctgPendientes)
                            {
                                if (ctg.pPremio.cvePremio.Equals(premioActual.cvePremio))
                                {
                                    ctg.categorias.Add(c);
                                }
                            }
                        }
                        else
                        {
                            // si no tengo es premio, agrego el premio con la categoria actual
                            CategoriasPendientes cp = new CategoriasPendientes();
                            cp.pPremio    = premioActual;
                            cp.categorias = new List <PI_BA_Categoria>();
                            cp.categorias.Add(c);

                            ctgPendientes.Add(cp);
                        }
                    }

                    // render stuff
                    foreach (var c in ctgPendientes)
                    {
                        Panel main = new Panel();
                        main.CssClass = "col-md-10 col-md-offset-1";
                        main.Style.Add("margin-bottom", "12px");

                        LiteralControl lcPremio    = new LiteralControl("<h4> Premio " + c.pPremio.Nombre + " </h4>");
                        LiteralControl lcCategoria = new LiteralControl("<h5> Categorías: </h5>");

                        Panel row = new Panel();
                        row.CssClass = "row";

                        short iCounter = 0;
                        foreach (var cat in c.categorias)
                        {
                            Panel col = new Panel();
                            col.CssClass = "col-md-4 item-list text-center";
                            col.Style.Add("margin-top", "0px");

                            Panel  colItem = new Panel();
                            string sColor  = ltColors[iCounter % ltColors.Count];
                            colItem.CssClass = "create-item item-description-fix";
                            colItem.Style.Add("background-color", sColor);

                            Panel pUserHeader = new Panel();
                            pUserHeader.CssClass = "award-header";
                            LiteralControl lcColItemCategory = new LiteralControl("<h5 class=\"item-description item-description-patch\">" + cat.Nombre
                                                                                  + " </h5>");
                            pUserHeader.Controls.Add(lcColItemCategory);

                            var convo = ConvocatoriaService.GetConvocatoriaById(cat.cveConvocatoria);

                            Panel pAwardTitle = new Panel();
                            pAwardTitle.CssClass = "award-description-fix text-center";
                            LiteralControl spanTitle = new LiteralControl("<span class=\"award-description\"> " + convo.TituloConvocatoria + "</span>");
                            pAwardTitle.Controls.Add(spanTitle);

                            colItem.Controls.Add(pUserHeader);
                            colItem.Controls.Add(pAwardTitle);
                            col.Controls.Add(colItem);

                            row.Controls.Add(new LiteralControl("<a href=AdministraGanadorCategoria.aspx?c=" + cat.cveCategoria + ">"));
                            row.Controls.Add(col);
                            row.Controls.Add(new LiteralControl("</a>"));

                            iCounter++;
                        }

                        main.Controls.Add(lcPremio);
                        main.Controls.Add(lcCategoria);
                        main.Controls.Add(row);

                        panelControl.Controls.Add(main);
                    }
                }

                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> No hay categorias que mostrar. </h4>"));
                    panelControl.Controls.Add(divControl);
                }
            }
        }
示例#26
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);
            }
        }