public static void firmarFinalizarEvaluador(VALORACIONESPROGRESS.formulario_id1 form1)
    {
        VALORACIONESPROGRESS.formulario_id1  evaluacion    = null;
        IB.Progress.BLL.VALORACIONESPROGRESS evaluacionBLL = null;
        try
        {
            string        responsable = String.Empty;
            StringBuilder sb          = new StringBuilder();
            IB.Progress.BLL.VALORACIONESPROGRESS valpro = new IB.Progress.BLL.VALORACIONESPROGRESS();
            valpro.UpdateEvaluador(form1);
            valpro.Dispose();

            int idficepiConectado = int.Parse(((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).t001_idficepi.ToString());

            evaluacionBLL = new IB.Progress.BLL.VALORACIONESPROGRESS();
            evaluacion    = evaluacionBLL.Select(idficepiConectado, form1.t930_idvaloracion);
            evaluacionBLL.Dispose();

            //Envío de correos
            if (form1.t930_fecfirmaevaluador != null)
            {
                if (((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).Sexo.ToString() == "V")
                {
                    responsable = "evaluador";
                }
                else
                {
                    responsable = "evaluadora";
                }

                sb.Append(evaluacion.Nombreevaluado + ", tu " + responsable + " " + ((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).nombrecorto.ToString() + ", ha cumplimentado y firmado tu evaluación.");
                sb.Append(" A partir de este momento, dispones de 15 días para hacer las anotaciones oportunas y firmarla. Transcurrido este plazo, si no la has firmado, la evaluación se cerrará automáticamente.</br></br>");
                sb.Append("</br></br>Si te encuentras en las oficinas de IBERMÁTICA, puedes acceder directamente pulsando <a href=" + ConfigurationManager.AppSettings["urlInterna"] + "/Default.aspx?FEVADO=true>aquí</a>");
                sb.Append("</br>Si estás fuera, puedes acceder pulsando <a href=" + ConfigurationManager.AppSettings["UrlExterna"] + "/Default.aspx?FEVADO=true>aquí</a>");

                Correo.Enviar("PROGRESS: Firma de tu " + responsable + "", sb.ToString(), evaluacion.Correoevaluado);
            }
        }
        catch (Exception ex)
        {
            if (evaluacionBLL != null)
            {
                evaluacionBLL.Dispose();
            }
            Smtp.SendSMTP("Error en la aplicación PROGRESS", ex.ToString());
        }
    }
    public static void firmarFinalizarEvaluado(VALORACIONESPROGRESS.formulario_id1 form1)
    {
        VALORACIONESPROGRESS.formulario_id1  evaluacion    = null;
        IB.Progress.BLL.VALORACIONESPROGRESS evaluacionBLL = null;
        try
        {
            string        supervisado = String.Empty;
            StringBuilder sb          = new StringBuilder();
            IB.Progress.BLL.VALORACIONESPROGRESS valpro = new IB.Progress.BLL.VALORACIONESPROGRESS();
            valpro.UpdateEvaluado(form1);
            valpro.Dispose();

            int idficepiConectado = int.Parse(((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).t001_idficepi.ToString());

            evaluacionBLL = new IB.Progress.BLL.VALORACIONESPROGRESS();
            evaluacion    = evaluacionBLL.Select(idficepiConectado, form1.t930_idvaloracion);
            evaluacionBLL.Dispose();

            //Envío de correos
            if (form1.t930_fecfirmaevaluado != null)
            {
                if (((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).Sexo.ToString() == "V")
                {
                    supervisado = "evaluado";
                }
                else
                {
                    supervisado = "evaluada";
                }

                sb.Append(evaluacion.Nombreevaluador + ", " + ((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).nombrelargo.ToString() + " ha realizado el cierre de la valoración.");

                Correo.Enviar("PROGRESS: Firma de tu " + supervisado + "", sb.ToString(), evaluacion.Correoevaluador);
            }
        }
        catch (Exception ex)
        {
            if (evaluacionBLL != null)
            {
                evaluacionBLL.Dispose();
            }
            Smtp.SendSMTP("Error en la aplicación PROGRESS", ex.ToString());
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        int idficepiConectado = int.Parse(((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).t001_idficepi.ToString());

        if (Request.QueryString["pt"] == "consultas")
        {
            //btnRegresar.Style.Add("display", "block");
            origen = "var origen ='" + Request.QueryString["pt"].ToString() + "';";
            menu   = "var menu ='" + Request.QueryString["menu"].ToString() + "';";
        }
        else
        {
            origen = "var origen = 'noConsultas'";
            if (Request.QueryString["acceso"] != null)
            {
                acceso = "var acceso ='" + Request.QueryString["acceso"].ToString() + "';";
            }
        }

        VALORACIONESPROGRESS.formulario_id1  evaluacion    = null;
        IB.Progress.BLL.VALORACIONESPROGRESS evaluacionBLL = null;
        bool bCont = true;

        try
        {
            IdEvaluacion  = "var IdEvaluacion = '" + Utils.decodpar(Request.QueryString["idval"].ToString()) + "';";
            evaluacion    = new VALORACIONESPROGRESS.formulario_id1();
            evaluacionBLL = new IB.Progress.BLL.VALORACIONESPROGRESS();
            evaluacion    = evaluacionBLL.Select(idficepiConectado, int.Parse(Utils.decodpar(Request.QueryString["idval"].ToString())));

            //Si no devuelve resultados la select, no autorizamos el acceso.
            if (evaluacion == null)
            {
                Response.Redirect("~/NoAutorizado.aspx", false);
                Context.ApplicationInstance.CompleteRequest();
                return;
            }

            if (evaluacion.SexoEvaluador.ToString() == "V")
            {
                lgEvaluador.InnerText   = "Evaluador";
                spanEvaluador.InnerText = "El evaluador";
            }
            else
            {
                spanEvaluador.InnerText = "La evaluadora";
                lgEvaluador.InnerText   = "Evaluadora";
            }

            lgEvaluador.Style.Add("margin-top", "3px");

            if (evaluacion.SexoEvaluado.ToString() == "V")
            {
                lgEvaluado.InnerText   = "Evaluado";
                spanEvaluado.InnerText = "El evaluado";
            }
            else
            {
                lgEvaluado.InnerText   = "Evaluada";
                spanEvaluado.InnerText = "La evaluada";
            }

            lgEvaluado.Style.Add("margin-top", "3px");

            evaluacionBLL.Dispose();
        }
        catch (IB.Progress.Shared.IBException ibex)
        {
            if (evaluacionBLL != null)
            {
                evaluacionBLL.Dispose();
            }
            bCont = false;

            string msgerr = "";
            switch (ibex.ErrorCode)
            {
            case 109:
                msgerr = ibex.Message;
                break;
            }
            PieMenu.sErrores = "msgerr = '" + msgerr + "';";
            //Avisar a EDA por smtp
            //SMTP.send(asunto, ibex, .......);
        }
        catch (Exception ex)
        {
            if (evaluacionBLL != null)
            {
                evaluacionBLL.Dispose();
            }
            bCont            = false;
            PieMenu.sErrores = "msgerr = 'Ocurrió un error general en la aplicación.';";
            //Avisar a EDA por smtp
            //SMTP.send(asunto, ex, .......);
        }
        if (bCont)
        {
            List <string> listaRoles = (List <string>)(Session["ROLES"]);
            //int idficepiConectado = int.Parse(((IB.Progress.Models.Profesional)HttpContext.Current.Session["PROFESIONAL"]).t001_idficepi.ToString());
            bool autorizado = false;
            try
            {
                //Si "ACCESSO" ES NULL, LA WEB ESTÁ EN MANTENIMIENTO.
                if (Session["ACCESO"] == null)
                {
                    return;
                }

                //SECURIZAMOS LOS FORMULARIOS YA QUE ES UNA INFORMACIÓN CONFIDENCIAL.
                //Si viene por consultas ADM, y no tiene el Rol pertinente, no le damos acceso.
                if (Request.QueryString["pt"] == "consultas" && Request.QueryString["menu"] == "ADM" || Request.QueryString["acceso"] == "formacion")
                {
                    if (listaRoles.Contains("SADM") || listaRoles.Contains("AADM"))
                    {
                        autorizado = true;
                    }
                    try
                    {
                        if (!autorizado)
                        {
                            Response.Redirect("~/NoAutorizado.aspx", false);
                            Context.ApplicationInstance.CompleteRequest();
                            return;
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }

                //Si viene por consultas evaluaciones (EVA) , miramos si tiene el rol "PEVA"
                else if (Request.QueryString["pt"] == "consultas" && Request.QueryString["menu"] == "EVA")
                {
                    if (listaRoles.Contains("PEVA"))
                    {
                        autorizado = true;
                    }
                    try
                    {
                        if (!autorizado)
                        {
                            Response.Redirect("~/NoAutorizado.aspx", false);
                            Context.ApplicationInstance.CompleteRequest();
                            return;
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }

                //Si viene por mis evaluaciones y la persona conectada no es el idficepi_evaluado, no le autorizamos.
                else if (Request.QueryString["acceso"] == "misevaluaciones")
                {
                    if (evaluacion.t001_idficepi_evaluado != idficepiConectado)
                    {
                        Response.Redirect("~/NoAutorizado.aspx", false);
                        Context.ApplicationInstance.CompleteRequest();
                        return;
                    }
                }

                //Si viene por evaluaciones de mi equipo ó completar abiertas ó acceso es null (esto pasa si borramos los parámetros del querystring)
                //else if (Request.QueryString["acceso"] == "demiequipo" || Request.QueryString["acceso"] == "completarabiertas")
                else if (Request.QueryString["acceso"] == "demiequipo")
                {
                    //if (evaluacion.t001_idficepi_evaluador != idficepiConectado)
                    //{
                    //    Response.Redirect("~/NoAutorizado.aspx", false);
                    //    Context.ApplicationInstance.CompleteRequest();
                    //    return;
                    //}
                }


                else if (Request.QueryString["acceso"] == "completarabiertas")
                {
                    if (evaluacion.t001_idficepi_evaluador != idficepiConectado)
                    {
                        Response.Redirect("~/NoAutorizado.aspx", false);
                        Context.ApplicationInstance.CompleteRequest();
                        return;
                    }
                }

                //No autorizamos el acceso si no viene "consultas, de "formación demandada",  de "mis evaluaciones", "de mi equipo", "completar abiertas", "parámetro acceso nulo", "parámetro acceso '' "
                else if (Request.QueryString["acceso"] != "misevaluaciones" && Request.QueryString["acceso"] != "demiequipo" && Request.QueryString["acceso"] != "completarabiertas" && Request.QueryString["acceso"] != "formacion")
                {
                    Response.Redirect("~/NoAutorizado.aspx", false);
                    Context.ApplicationInstance.CompleteRequest();
                    return;
                }

                //else {
                //    Response.Redirect("~/NoAutorizado.aspx", false);
                //    Context.ApplicationInstance.CompleteRequest();
                //    return;
                //}

                //FIN SECURIZACIÓN DE FORMULARIOS

                Cargar_Evaluacion(evaluacion);
            }
            catch (Exception ex)
            {
                //Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "script1", "msgerr = 'Ocurrió un error obteniendo los roles de base de datos';", true);
                PieMenu.sErrores = "msgerr = 'Ocurrió un error cargando los datos de la evaluaciones.';";
            }
        }
    }