Exemple #1
0
        protected void AlmacenarEstrategia()
        {
            try
            {
                int idsubproceso = Convert.ToInt32(Request.QueryString["subproceso_id"]);
                string estrategia = Request.QueryString["estrategia"].ToString();

                CResultados_proyecto objCResultados = new CResultados_proyecto();

                objCResultados.Add(idsubproceso, estrategia);

                IQueryable<Model.Resultados_Proyecto> objEstrategias = new CResultados_proyecto().LoadResultados(idsubproceso);

                StringBuilder objsb = new StringBuilder();

                int enumeracion_Estrategias = 1;
                objsb.Append("<table style='width:100%;'> ");
                foreach (var item_estrategias in objEstrategias)
                {

                    objsb.Append("<tr>");
                    objsb.Append("<td> <label style='color:#000;'> Estrategia No. " + enumeracion_Estrategias.ToString() + "<label>");
                    objsb.Append(" </td> ");
                    objsb.Append("</tr> ");
                    objsb.Append("<tr>");
                    string parametros = "'" + item_estrategias.Id.ToString() + "','txt_area_estrategias_up_" + item_estrategias.Id + "'";
                    objsb.Append("<td> <textarea id='txt_area_estrategias_up_" + item_estrategias.Id + "' placeholder='Texto correspondiente a estrategia'>" + item_estrategias.Resultado + "</textarea>");
                    objsb.Append(" <input type='button' value='Actualizar Estrategia' onclick=\"ActualizarEstrategia(" + parametros + ");\" /> ");
                    objsb.Append(" <a title=\"Detalles para Resultado No." + enumeracion_Estrategias.ToString() + "\" class='pretty' href=\"" + Request.Url.Scheme + "://" + Request.Url.Authority + "/DetallesMarcoLogico.aspx?idResultado=" + item_estrategias.Id + "&iframe=true&amp;width=100%&amp;height=100%\"\"><img alt='Detalles' src='/Icons/details.png' width='24px' /></a>");
                    objsb.Append(" <a title=\"Cronograma Resultado No." + enumeracion_Estrategias.ToString() + "\" class='pretty' href=\"" + Request.Url.Scheme + "://" + Request.Url.Authority + "/DiagramaGant.aspx?idResultado=" + item_estrategias.Id + "&iframe=true&amp;width=100%&amp;height=100%\"\"><img alt='Cronograma' src='/Icons/Calender.png' width='24px' /></a>");
                    objsb.Append("</td> ");
                    objsb.Append("</tr> ");

                    enumeracion_Estrategias++;
                }
                objsb.Append("</table><br/>");

                Response.Write(objsb.ToString());
            }
            catch (Exception) { Response.Write("Transacción Falló"); }
        }
        protected void AlmacenarResultado()
        {
            try
            {
                CResultados_proyecto objCresultado = new CResultados_proyecto();

                objCresultado.Update(idresultado, null, txtindicadorg.Text);

                bool mediosvacios = objCresultado.RemoveMedios(idresultado);

                if (mediosvacios)
                {
                    string[] medios_html = mediosinput.Value.Trim(',').Split(',');

                    for (int i = 0; i < medios_html.Length; i++)
                    {
                        int medioid = new CMedios().getMedioid(medios_html[i]);

                        if (medioid != 0)
                            objCresultado.AddMedios(idresultado, medioid);
                    }
                }

                bool supuestos = objCresultado.RemoveSupuestos(idresultado);

                if (supuestos)
                {
                    string[] supuestos_html = supuestosinput.Value.Trim(',').Split(',');

                    for (int i = 0; i < supuestos_html.Length; i++)
                    {
                        int supuestoid = new Csupuestos().getSupuesto_id(supuestos_html[i]);

                        if (supuestoid != 0)
                            objCresultado.AddSupuestos(idresultado, supuestoid);
                    }
                }

                getMediosResultados(idresultado);
                getSupuestosResultados(idresultado);
            }
            catch (Exception) { /*TODO: JCMM: Controlador Exception*/ }
        }
        protected void Load_resultados()
        {
            try
            {
                IQueryable<Model.Causas_Efecto> objCausas_Efecto = objCSubprocesos.getProcesos(_idproyecto);
                int enumeracion = 1;
                foreach (var item in objCausas_Efecto)
                {
                    HtmlTable objHtmlTable = new HtmlTable();

                    objHtmlTable.Width = "80%";

                    HtmlTableRow objRow_Proceso = new HtmlTableRow();

                    HtmlTableCell objCell_Proceso = new HtmlTableCell();
                    objCell_Proceso.InnerHtml = "<label style='color:" + item.Color + ";'>Proceso No. " + enumeracion.ToString() + ": " + item.Proceso + "</label>";

                    objCell_Proceso.Attributes.CssStyle.Add("padding-left", "8px");
                    objRow_Proceso.Cells.Add(objCell_Proceso);
                    objRow_Proceso.Attributes.Add("class", "trheader");
                    objCell_Proceso.Attributes.CssStyle.Add("-moz-border-radius", "3px");
                    objCell_Proceso.Attributes.CssStyle.Add("-webkit-border-radius", "3px");
                    objCell_Proceso.Attributes.CssStyle.Add("border-radius", "3px");

                    objHtmlTable.Rows.Add(objRow_Proceso);

                    IQueryable<Model.Subproceso> objSubprocesos = objCSubprocesos.LoadSubprocesos(item.Id);

                    int enumeracion_Subproceso = 1;
                    foreach (var item_subroceso in objSubprocesos)
                    {
                        HtmlTableRow objRow_SubProceso = new HtmlTableRow();

                        HtmlTableCell objCell_SubProceso = new HtmlTableCell();
                        objCell_SubProceso.InnerHtml = "<label style='color:#000;'>Subproceso No. " + enumeracion_Subproceso.ToString() + ": " + item_subroceso.Subproceso1 + "</label>";

                        objCell_SubProceso.Attributes.CssStyle.Add("padding-left", "20px");
                        objRow_SubProceso.Cells.Add(objCell_SubProceso);
                        objRow_SubProceso.Attributes.Add("class", "trgris");
                        objCell_SubProceso.Attributes.CssStyle.Add("-moz-border-radius", "3px");
                        objCell_SubProceso.Attributes.CssStyle.Add("-webkit-border-radius", "3px");
                        objCell_SubProceso.Attributes.CssStyle.Add("border-radius", "3px");

                        objHtmlTable.Rows.Add(objRow_SubProceso);

                        HtmlTableRow objRow_Estrategias = new HtmlTableRow();

                        HtmlTableCell objCell_Estrategias = new HtmlTableCell();
                        objCell_Estrategias.InnerHtml = "<h3>Crear Estrategia</h3><textarea id='txt_area_estrategia_id_" + item_subroceso.Id + "' placeholder='Ingrese el texto para estrategia correspondiente.'></textarea> ";

                        HtmlInputButton objAlmacenar_estrategia = new HtmlInputButton();
                        objAlmacenar_estrategia.ID = "btn_estrategia_almacenar_id" + item.Id.ToString();
                        objAlmacenar_estrategia.Attributes.Add("onclick", String.Format("AlmacenarEstrategia('{0}','{1}');", item_subroceso.Id, "txt_area_estrategia_id_" + item_subroceso.Id));
                        objAlmacenar_estrategia.Value = "Almacenar Estrategia";

                        objCell_Estrategias.Controls.Add(objAlmacenar_estrategia);
                        objCell_Estrategias.Attributes.Add("class", "trgris");
                        objCell_Estrategias.Attributes.CssStyle.Add("-moz-border-radius", "3px");
                        objCell_Estrategias.Attributes.CssStyle.Add("-webkit-border-radius", "3px");
                        objCell_Estrategias.Attributes.CssStyle.Add("border-radius", "3px");
                        objRow_Estrategias.Cells.Add(objCell_Estrategias);

                        objHtmlTable.Rows.Add(objRow_Estrategias);

                        IQueryable<Model.Resultados_Proyecto> objEstrategias = new CResultados_proyecto().LoadResultados(item_subroceso.Id);

                        StringBuilder objsb = new StringBuilder();

                        objsb.Append("<div class='accordion'><h3><a href='#'>Estrategias</a></h3>");
                        objsb.Append("<div id='col_estrategias_" + item_subroceso.Id + "'>");

                        var detalles = new HtmlAnchor();
                        var cronograma = new HtmlAnchor();

                        int enumeracion_Estrategias = 1;
                        objsb.Append("<table style='width:100%;'> ");
                        foreach (var item_estrategias in objEstrategias)
                        {

                            objsb.Append("<tr>");
                            objsb.Append("<td> <label style='color:#000;'> Estrategia No. " + enumeracion_Estrategias.ToString() + "<label>");
                            objsb.Append(" </td> ");
                            objsb.Append("</tr> ");
                            objsb.Append("<tr>");
                            string parametros = "'" + item_estrategias.Id.ToString() + "','txt_area_estrategias_up_" + item_estrategias.Id + "'";
                            objsb.Append("<td> <textarea id='txt_area_estrategias_up_" + item_estrategias.Id + "' placeholder='Texto correspondiente a estrategia'>" + item_estrategias.Resultado + "</textarea>");
                            objsb.Append(" <input type='button' value='Actualizar Estrategia' onclick=\"ActualizarEstrategia(" + parametros + ");\" /> ");
                            objsb.Append(" <a title=\"Detalles para Resultado No." + enumeracion_Estrategias.ToString() + "\" class='pretty' href=\"" + Request.Url.Scheme + "://" + Request.Url.Authority + "/DetallesMarcoLogico.aspx?idResultado=" + item_estrategias.Id + "&iframe=true&amp;width=100%&amp;height=100%\"\"><img alt='Detalles' src='/Icons/details.png' width='24px' /></a>");
                            objsb.Append(" <a title=\"Cronograma Resultado No." + enumeracion_Estrategias.ToString() + "\" class='pretty' href=\"" + Request.Url.Scheme + "://" + Request.Url.Authority + "/DiagramaGant.aspx?idResultado=" + item_estrategias.Id + "&iframe=true&amp;width=100%&amp;height=100%\"\"><img alt='Cronograma' src='/Icons/Calender.png' width='24px' /></a>");
                            objsb.Append("</td> ");
                            objsb.Append("</tr> ");

                            enumeracion_Estrategias++;
                        }
                        objsb.Append("</table><br/>");
                        objsb.Append("</div></div>");
                        HtmlTableRow objRow_Collection_estrategias = new HtmlTableRow();

                        HtmlTableCell objCell_Collection_estrategias = new HtmlTableCell();
                        objCell_Collection_estrategias.InnerHtml = objsb.ToString();

                        objRow_Collection_estrategias.Cells.Add(objCell_Collection_estrategias);

                        objHtmlTable.Rows.Add(objRow_Collection_estrategias);
                        enumeracion_Subproceso++;
                    }

                    presultados.Controls.Add(objHtmlTable);

                    HtmlGenericControl salto_linea = new HtmlGenericControl("br");

                    presultados.Controls.Add(salto_linea);

                    enumeracion++;
                }
            }
            catch (Exception) { /*TODO: JCMM: Controlador Exception*/ }
        }
        protected void Load_estrategias()
        {
            try
            {
                IQueryable<Model.Causas_Efecto> objCausas_Efecto = objCSubprocesos.getProcesos(_idproyecto);
                int enumeracion = 1;
                foreach (var item in objCausas_Efecto)
                {
                    HtmlTable objHtmlTable = new HtmlTable();

                    objHtmlTable.Width = "80%";

                    HtmlTableRow objRow_Proceso = new HtmlTableRow();

                    HtmlTableCell objCell_Proceso = new HtmlTableCell();
                    objCell_Proceso.InnerHtml = "<label style='color:" + item.Color + ";'>Proceso No. " + enumeracion.ToString() + ": " + item.Proceso + "</label>";
                    objCell_Proceso.Attributes.CssStyle.Add("padding-left", "8px");
                    objRow_Proceso.Cells.Add(objCell_Proceso);
                    objRow_Proceso.Attributes.Add("class", "trheader");
                    objCell_Proceso.Attributes.CssStyle.Add("-moz-border-radius", "3px");
                    objCell_Proceso.Attributes.CssStyle.Add("-webkit-border-radius", "3px");
                    objCell_Proceso.Attributes.CssStyle.Add("border-radius", "3px");

                    objHtmlTable.Rows.Add(objRow_Proceso);

                    IQueryable<Model.Subproceso> objSubprocesos = objCSubprocesos.LoadSubprocesos(item.Id);

                    int enumeracion_Subproceso = 1;
                    foreach (var item_subroceso in objSubprocesos)
                    {
                        HtmlTableRow objRow_SubProceso = new HtmlTableRow();

                        HtmlTableCell objCell_SubProceso = new HtmlTableCell();
                        objCell_SubProceso.InnerHtml = "<label style='color:#000;'>Subproceso No. " + enumeracion_Subproceso.ToString() + ": " + item_subroceso.Subproceso1 + "</label>";

                        objCell_SubProceso.Attributes.CssStyle.Add("padding-left", "20px");
                        objRow_SubProceso.Cells.Add(objCell_SubProceso);
                        objRow_SubProceso.Attributes.Add("class", "trgris");
                        objCell_SubProceso.Attributes.CssStyle.Add("-moz-border-radius", "3px");
                        objCell_SubProceso.Attributes.CssStyle.Add("-webkit-border-radius", "3px");
                        objCell_SubProceso.Attributes.CssStyle.Add("border-radius", "3px");

                        objHtmlTable.Rows.Add(objRow_SubProceso);

                        IQueryable<Model.Resultados_Proyecto> objEstrategias = new CResultados_proyecto().LoadResultados(item_subroceso.Id);

                        int enumeracion_Estrategias = 1;
                        foreach (var item_estrategias in objEstrategias)
                        {
                            HtmlTableRow objRow_estrategia_ = new HtmlTableRow();

                            HtmlTableCell objCell_estrategia_ = new HtmlTableCell();
                            objCell_estrategia_.InnerHtml = "<label style='color:#000;'>Estrategia No. " + enumeracion_Estrategias.ToString() + ": " + item_estrategias.Resultado + "</label>";

                            objCell_estrategia_.Attributes.CssStyle.Add("padding-left", "30px");
                            objRow_estrategia_.Cells.Add(objCell_estrategia_);
                            objRow_estrategia_.Attributes.Add("class", "trblanca");
                            objRow_estrategia_.Attributes.CssStyle.Add("-moz-border-radius", "3px");
                            objRow_estrategia_.Attributes.CssStyle.Add("-webkit-border-radius", "3px");
                            objRow_estrategia_.Attributes.CssStyle.Add("border-radius", "3px");

                            objHtmlTable.Rows.Add(objRow_estrategia_);

                            HtmlTableRow objRow_actividades = new HtmlTableRow();

                            HtmlTableCell objCell_actividades = new HtmlTableCell();
                            objCell_actividades.InnerHtml = "<h3>Crear Actividad</h3>Actividad<br/><textarea class='speech' id='txt_area_actividad_id_" + item_estrategias.Id + "' placeholder='Ingrese el texto para actividad correspondiente.'></textarea> <br/>Presupuesto<br/><input type='text' placeholder='Campo exclusivamente numerico' class='numerico' style='width:80%;' value='0' id='txt_actividad_presupuesto" + item_estrategias.Id + "'> <br/>Fecha<br/><input type='text' placeholder='Campo exclusivamente numerico' class='datepiker' style='width:80%;' value='" + DateTime.Now.ToString() + "' id='txt_actividad_fecha_p_alm" + item_estrategias.Id + "'> <br/>";

                            objCell_actividades.Attributes.CssStyle.Add("padding-left", "40px");

                            HtmlInputButton objAlmacenar_actividades = new HtmlInputButton();
                            objAlmacenar_actividades.ID = "btn_actividad_almacenar_id" + item.Id.ToString();
                            objAlmacenar_actividades.Attributes.Add("onclick", String.Format("AlmacenarActividad('{0}','{1}','{2}','{3}');", item_estrategias.Id, "txt_area_actividad_id_" + item_estrategias.Id, "txt_actividad_presupuesto" + item_estrategias.Id, "txt_actividad_fecha_p_alm" + item_estrategias.Id));
                            objAlmacenar_actividades.Value = "Almacenar Actividad";

                            objCell_actividades.Controls.Add(objAlmacenar_actividades);
                            objCell_actividades.Attributes.CssStyle.Add("-moz-border-radius", "3px");
                            objCell_actividades.Attributes.CssStyle.Add("-webkit-border-radius", "3px");
                            objCell_actividades.Attributes.CssStyle.Add("border-radius", "3px");
                            objRow_actividades.Cells.Add(objCell_actividades);
                            objRow_actividades.Attributes.Add("class", "trgris");
                            objRow_actividades.Attributes.CssStyle.Add("color", "#007CB6");

                            objHtmlTable.Rows.Add(objRow_actividades);

                            IQueryable<Model.Actividade> objActividades = new CActividades().getActividades(item_estrategias.Id);

                            StringBuilder objsb_actividades = new StringBuilder();

                            objsb_actividades.Append("<div class='accordion'><h3><a href='#'>Actividades</a></h3>");
                            objsb_actividades.Append("<div id='col_actividades_" + item_estrategias.Id + "'>");

                            var detalles_Actividades = new HtmlAnchor();
                            var cronograma_Cronograma = new HtmlAnchor();

                            int enumeracion_Actividades = 1;
                            objsb_actividades.Append("<table style='width:100%;'> ");
                            foreach (var item_actividades in objActividades)
                            {
                                objsb_actividades.Append("<tr>");
                                objsb_actividades.Append("<td> <label style='color:#000;'> Actividad No. " + enumeracion_Actividades.ToString() + "<label>");
                                objsb_actividades.Append(" </td> ");
                                objsb_actividades.Append("</tr> ");
                                objsb_actividades.Append("<tr>");
                                string parametros = "'" + item_actividades.Id.ToString() + "','txt_area_actividades_up_" + item_actividades.Id + "','txt_actividad_presupuesto_up" + item_estrategias.Id + "','txt_actividad_fecha_pre_up" + item_actividades.Id + "'";
                                objsb_actividades.Append("<td> <textarea id='txt_area_actividades_up_" + item_actividades.Id + "' placeholder='Texto correspondiente a actividades'>" + item_actividades.Actividad + "</textarea><br/>Presupuesto<br/><input type='text' placeholder='Campo exclusivamente numerico' class='numerico' style='width:80%;' value=" + item_actividades.Presupuesto + "  id='txt_actividad_presupuesto_up" + item_estrategias.Id + "' Fecha <br/><input type='text' placeholder='Campo exclusivamente numerico' class='datepiker' style='width:80%;' value=" + item_actividades.fecha + "  id='txt_actividad_fecha_pre_up" + item_actividades.Id + "'> <br/>");
                                objsb_actividades.Append(" <input type='button' value='Actualizar Actividad' onclick=\"ActualizarActividad(" + parametros + ");\" /> ");
                                objsb_actividades.Append(" <a title=\"Detalles para Actividad No." + enumeracion_Actividades.ToString() + "\" class='pretty' href=\"" + Request.Url.Scheme + "://" + Request.Url.Authority + "/DetallesMarcoLogico.aspx?idActividad=" + item_actividades.Id + "&iframe=true&amp;width=100%&amp;height=100%\"\"><img alt='Detalles' src='/Icons/details.png' width='24px' /></a>");
                                objsb_actividades.Append(" <a title=\"Cronograma Actividad No." + enumeracion_Actividades.ToString() + "\" class='pretty' href=\"" + Request.Url.Scheme + "://" + Request.Url.Authority + "/DiagramaGant.aspx?idActividad=" + item_actividades.Id + "&iframe=true&amp;width=100%&amp;height=100%\"\"><img alt='Cronograma' src='/Icons/Calender.png' width='24px' /></a>");
                                objsb_actividades.Append(" <a title=\"Valores para Actividad No." + enumeracion_Actividades.ToString() + "\" class='pretty' href=\"" + Request.Url.Scheme + "://" + Request.Url.Authority + "/Valores_actividad.aspx?idActividad=" + item_actividades.Id + "&iframe=true&amp;width=100%&amp;height=100%\"\"><img alt='Valores' src='/Icons/Stationery.png' width='24px' /></a>");
                                objsb_actividades.Append(" <a title=\"Presupuesto para Actividad No." + enumeracion_Actividades.ToString() + "\" class='pretty' href=\"" + Request.Url.Scheme + "://" + Request.Url.Authority + "/Presupuesto_actividad.aspx?idActividad=" + item_actividades.Id + "&iframe=true&amp;width=100%&amp;height=100%\"\"><img alt='Presupuesto' src='/Icons/dollar.png' width='24px' /></a>");
                                objsb_actividades.Append("</td> ");
                                objsb_actividades.Append("</tr> ");

                                enumeracion_Actividades++;
                            }

                            objsb_actividades.Append("</table><br/>");
                            objsb_actividades.Append("</div></div>");

                            HtmlTableRow objRow_Collection_actividades = new HtmlTableRow();
                            objRow_Collection_actividades.Attributes.CssStyle.Add("padding-left", "40px");
                            HtmlTableCell objCell_Collection_actividades = new HtmlTableCell();
                            objCell_Collection_actividades.InnerHtml = objsb_actividades.ToString();

                            objRow_Collection_actividades.Cells.Add(objCell_Collection_actividades);

                            objHtmlTable.Rows.Add(objRow_Collection_actividades);

                            enumeracion_Estrategias++;
                        }

                        enumeracion_Subproceso++;
                    }

                    pnlActividades.Controls.Add(objHtmlTable);

                    HtmlGenericControl salto_linea = new HtmlGenericControl("br");

                    pnlActividades.Controls.Add(salto_linea);

                    enumeracion++;
                }
            }
            catch (Exception) { /*TODO: JCMM: Controlador Exception*/ }
        }
Exemple #5
0
        private void ActualizarEstrategia()
        {
            try
            {

                int idestrategia = Convert.ToInt32(Request.QueryString["idestrategia"]);
                string estrategia = Request.QueryString["estrategia"].ToString();

                CResultados_proyecto objCResultados_proyecto = new CResultados_proyecto();

                objCResultados_proyecto.Update(idestrategia, estrategia);

                Response.Write("ok");
            }
            catch (Exception) { Response.Write("Transacción Falló"); }
        }
        /// <summary>
        /// Ejecuta el proceso de carga para la nueva estructura de la matriz para Marco Logico
        /// </summary>
        /// <param name="idproyecto">Identificador de proyecto (Id por el cual se ejecut la busqueda y la carga de la matriz)</param>
        protected void getNew_Plan_Operativo(int idproyecto)
        {
            try
            {
                //Instancio un objecto del tipo proyecto
                Cproyecto objCproyecto = new Cproyecto();
                //Instancion un objeto del tipo Efectos
                CEfectos objCProcesos = new CEfectos();
                //Instancio un objeto del tipo HtmlTable
                HtmlTable objtable = new HtmlTable();
                //Agrego estilos personalizados al objeto HtmlTable
                objtable.Attributes.CssStyle.Add("border", "dashed 2px #222");
                objtable.Attributes.CssStyle.Add("width", "95%");

                //Instancio un objeto del tipo HtmlRow
                HtmlTableRow objrowtitle = new HtmlTableRow();

                #region Instancia de celdas para titulo de tabla

                /* Instancio cada una de las celdas que serviran como titulo de la tabla que se genera
                 * de manera dinamica
                 */
                //1
                HtmlTableCell cell_Proceso = new HtmlTableCell();
                //2
                HtmlTableCell cell_Subproceso = new HtmlTableCell();
                //3
                HtmlTableCell cell_Estrategia = new HtmlTableCell();
                //4
                HtmlTableCell cell_Actividad = new HtmlTableCell();
                //5
                HtmlTableCell cell_Indicador = new HtmlTableCell();
                //6
                HtmlTableCell cell_Medios_Verificacion = new HtmlTableCell();
                //7
                HtmlTableCell cell_Supuestos = new HtmlTableCell();
                //8
                HtmlTableCell cell_Responsables = new HtmlTableCell();

                #endregion

                #region Insercion de HTMl para las celdas th

                //1
                cell_Proceso.InnerHtml = "PROCESO";
                //2
                cell_Subproceso.InnerHtml = "SUBPROCESO";
                //3
                cell_Estrategia.InnerHtml = "ESTRATEGIA";
                //4
                cell_Actividad.InnerHtml = "ACTIVIDAD";
                //5
                cell_Indicador.InnerHtml = "INDICADOR";
                //6
                cell_Medios_Verificacion.InnerHtml = "MEDIOS DE VERIFICACIÓN";
                //7
                cell_Supuestos.InnerHtml = "SUPUESTOS";
                //8
                cell_Responsables.InnerHtml = "RESPONSABLES";

                #endregion

                /*Agrego cada una de las celdas a la fila principal (HtmlRow)*/
                #region Adicion de celdas a la primera fila de la tabla

                objrowtitle.Cells.Add(cell_Proceso);
                objrowtitle.Cells.Add(cell_Subproceso);
                objrowtitle.Cells.Add(cell_Estrategia);
                objrowtitle.Cells.Add(cell_Actividad);
                objrowtitle.Cells.Add(cell_Indicador);
                objrowtitle.Cells.Add(cell_Medios_Verificacion);
                objrowtitle.Cells.Add(cell_Supuestos);
                objrowtitle.Cells.Add(cell_Responsables);
                #endregion

                #region Estilos Celdas th

                /*Asigno estilos personalisados a cada una de las celdas */
                cell_Proceso.Attributes.CssStyle.Add("border", "dashed 1px #000");
                cell_Proceso.Attributes.CssStyle.Add("vertical-align", "middle");
                cell_Proceso.Attributes.CssStyle.Add("text-align", "center");

                cell_Subproceso.Attributes.CssStyle.Add("border", "dashed 1px #000");
                cell_Subproceso.Attributes.CssStyle.Add("vertical-align", "middle");
                cell_Subproceso.Attributes.CssStyle.Add("text-align", "center");

                cell_Estrategia.Attributes.CssStyle.Add("border", "dashed 1px #000");
                cell_Estrategia.Attributes.CssStyle.Add("vertical-align", "middle");
                cell_Estrategia.Attributes.CssStyle.Add("text-align", "center");

                cell_Actividad.Attributes.CssStyle.Add("border", "dashed 1px #000");
                cell_Actividad.Attributes.CssStyle.Add("vertical-align", "middle");
                cell_Actividad.Attributes.CssStyle.Add("text-align", "center");

                cell_Indicador.Attributes.CssStyle.Add("border", "dashed 1px #000");
                cell_Indicador.Attributes.CssStyle.Add("vertical-align", "middle");
                cell_Indicador.Attributes.CssStyle.Add("text-align", "center");

                cell_Medios_Verificacion.Attributes.CssStyle.Add("border", "dashed 1px #000");
                cell_Medios_Verificacion.Attributes.CssStyle.Add("vertical-align", "middle");
                cell_Medios_Verificacion.Attributes.CssStyle.Add("text-align", "center");

                cell_Supuestos.Attributes.CssStyle.Add("border", "dashed 1px #000");
                cell_Supuestos.Attributes.CssStyle.Add("vertical-align", "middle");
                cell_Supuestos.Attributes.CssStyle.Add("text-align", "center");

                cell_Responsables.Attributes.CssStyle.Add("border", "dashed 1px #000");
                cell_Responsables.Attributes.CssStyle.Add("vertical-align", "middle");
                cell_Responsables.Attributes.CssStyle.Add("text-align", "center");

                #endregion

                //Agrego el objeto HtmlTableRow al objeto HtmlTable
                objtable.Rows.Add(objrowtitle);

                //Consula No. 1
                //realizo la consulta de procesos por identificador de proyecto (idproyecto)
                IQueryable<Model.Causas_Efecto> col_procesos = objCProcesos.getCount(idproyecto);

                int rowspan_proceso = 1;
                int contador_filas = 0;
                //Iteracion del arreglo generado por la consulta No. 1
                foreach (var item_procesos in col_procesos)
                {
                    //Creo una variable para verificar si el proceso tiene subprocesos asociados
                    bool tiene_subprocesos = true;
                    //Instancio un nuevo objeto del tipo HtmlTableRow
                    HtmlTableRow objrow_procesos = new HtmlTableRow();
                    //Instancio un nuevo objeto del tipo HtmlTableCell
                    HtmlTableCell objcell_name_proceso = new HtmlTableCell();
                    //Agrego el nombre del proceso como html en el objeto objcell_name_proceso instanciado
                    objcell_name_proceso.InnerHtml = item_procesos.Proceso;

                    //Agrergo estilos personalizados a la columna objcell_name_proceso
                    objcell_name_proceso.Attributes.CssStyle.Add("border", "dashed 2px " + item_procesos.Color);
                    objcell_name_proceso.Attributes.CssStyle.Add("background", "#ccc");
                    objcell_name_proceso.Attributes.CssStyle.Add("vertical-align", "middle");
                    objcell_name_proceso.Attributes.CssStyle.Add("text-align", "center");
                    objcell_name_proceso.Attributes.CssStyle.Add("color", "#005EA7");
                    objcell_name_proceso.Attributes.CssStyle.Add("font-weight", "bold");
                    //Consulta No. 2
                    //realizo la consulta de subprocesos por identificador proceso (item.Id)
                    IQueryable<Model.Subproceso> col_subprocesos = new CSubprocesos().LoadSubprocesos(item_procesos.Id);
                    //valido si la cantidad de subprocesos para el proceso actual
                    if (col_subprocesos.Count() != 0)
                        objcell_name_proceso.Attributes.Add("rowspan", (col_subprocesos.Count() + 1).ToString());
                    else
                        //En caso de no tener subprocesos asigno a la variable tiene_subprocesos el estado false
                        tiene_subprocesos = false;

                    /*En caso de que la variable tenga estado tiene_subprocesos = false
                     * inserto una celda vacia para que el rowspan se adapte normalmente
                     */
                    if (!tiene_subprocesos)
                    {
                        objrow_procesos.Cells.Add(objcell_name_proceso);
                        //Instancio un objeto del tipo HtmlTableCell
                        HtmlTableCell objcell_name_subproceso_null = new HtmlTableCell();
                        //Agrego a los controles de la fila objrow_procesos
                        objrow_procesos.Cells.Add(objcell_name_subproceso_null);

                    }
                    else
                        //Agrego a la fila objrow_procesos el control objcell_name_proceso
                        objrow_procesos.Cells.Add(objcell_name_proceso);

                    //Agrego a la tabla la fila objrow_procesos
                    objtable.Rows.Add(objrow_procesos);

                    //Autoincremento para contedo de row span
                    rowspan_proceso++;

                    /*Iteracion del objeto que almacena el resultado para los
                     * subprocesos
                     */
                    foreach (var item_subprocesos in col_subprocesos)
                    {
                        //Instancio una variable que almacena el estado de Cantidad de estrategias en el subproceso
                        bool tiene_estrategias = true;
                        //Instacio un oibjeto del tipo HtmlTableRow
                        HtmlTableRow objrow_subprocesos = new HtmlTableRow();
                        //Instacio un oibjeto del tipo HtmlTableCell
                        HtmlTableCell objcell_name_proceso_null = new HtmlTableCell();
                        //Instacio un oibjeto del tipo HtmlTableCell
                        HtmlTableCell objcell_name_subproceso = new HtmlTableCell();
                        /* Inserto como html el nombre del subpropceso perteneciente
                         * al item actualmente iterado*/
                        objcell_name_subproceso.InnerHtml = item_subprocesos.Subproceso1;
                        //Almaceno el resultado de los resultados o estrategias en el subproceso actualmente iterado
                        IQueryable<Model.Resultados_Proyecto> col_estrategias = new CResultados_proyecto().LoadResultados(item_subprocesos.Id);
                        //Variable que almacena la cantidad de veces que se ralizara el proceso de span en la fila
                        int rowspan_subproceso = 1;
                        //Realizo un preconteo de la cantidad de estrategias asignadas al subproceso actual
                        foreach (var item_contador in col_estrategias)
                        {
                            //rowspan_subproceso = rowspan_subproceso + item_contador.Count();
                        }

                        if (col_estrategias.Count() != 0)
                            objcell_name_subproceso.Attributes.Add("rowspan", (col_estrategias.Count() + rowspan_subproceso).ToString());
                        else
                            tiene_estrategias = false;

                        if (!tiene_estrategias)
                        {
                            objrow_subprocesos.Cells.Add(objcell_name_subproceso);
                            HtmlTableCell objcell_name_estrategia_null_null = new HtmlTableCell();
                        }
                        else
                            objrow_subprocesos.Cells.Add(objcell_name_subproceso);

                        objcell_name_subproceso.Attributes.CssStyle.Add("border", "dashed 1px " + item_procesos.Color);
                        objcell_name_subproceso.Attributes.CssStyle.Add("vertical-align", "middle");
                        objcell_name_subproceso.Attributes.CssStyle.Add("text-align", "center");

                        objtable.Rows.Add(objrow_subprocesos);

                        foreach (var item_estrategias in col_estrategias)
                        {
                            bool tiene_actividades = true;

                            HtmlTableRow objrow_estrategias = new HtmlTableRow();

                            HtmlTableCell objcell_name_proceso_null_null = new HtmlTableCell();
                            HtmlTableCell objcell_name_subproceso_null = new HtmlTableCell();
                            HtmlTableCell objcell_name_estrategia = new HtmlTableCell();

                            objcell_name_estrategia.InnerHtml = item_estrategias.Resultado;

                            rowspan_proceso++;

                            IQueryable<Model.Actividade> col_actividades = new CActividades().getActividades(item_estrategias.Id);

                            objcell_name_estrategia.Attributes.CssStyle.Add("border", " dashed 1px " + item_procesos.Color);
                            objcell_name_estrategia.Attributes.CssStyle.Add("vertical-align", "middle");
                            objcell_name_estrategia.Attributes.CssStyle.Add("text-align", "center");

                            if (col_actividades.Count() != 0)
                                objcell_name_estrategia.Attributes.Add("rowspan", (col_actividades.Count() + 1).ToString());
                            else
                                tiene_actividades = false;

                            if (!tiene_actividades)
                            {
                                objrow_estrategias.Cells.Add(objcell_name_estrategia);
                            }
                            else
                            {
                                HtmlTableCell objcell_name_estrategia_null_null_null = new HtmlTableCell();
                                objrow_estrategias.Cells.Add(objcell_name_estrategia);
                            }

                            objtable.Rows.Add(objrow_estrategias);

                            foreach (var item_actividades in col_actividades)
                            {
                                HtmlTableRow objrow_actividades = new HtmlTableRow();

                                HtmlTableCell objcell_name_proceso_null_null_null = new HtmlTableCell();
                                HtmlTableCell objcell_name_subproceso_null_null = new HtmlTableCell();
                                HtmlTableCell objcell_name_estrategia_null = new HtmlTableCell();
                                HtmlTableCell objcell_name_actividad = new HtmlTableCell();

                                objcell_name_actividad.InnerHtml = item_actividades.Actividad;

                                objcell_name_actividad.Attributes.CssStyle.Add("border", " dashed 1px " + item_procesos.Color);
                                objcell_name_actividad.Attributes.CssStyle.Add("vertical-align", "middle");
                                objcell_name_actividad.Attributes.CssStyle.Add("text-align", "center");

                                objrow_actividades.Cells.Add(objcell_name_actividad);

                                HtmlTableCell objcell_Indicadores = new HtmlTableCell();
                                HtmlTableCell objcell_medios_verificacion = new HtmlTableCell();
                                HtmlTableCell objcell_supuestos = new HtmlTableCell();
                                HtmlTableCell objcell_responsables = new HtmlTableCell();

                                string medios_verificacion = "";
                                string supuestos = "";
                                string responsables = "";
                                string indicadores = "";

                                foreach (var item_medios in item_actividades.Actividades_Medios)
                                {
                                    medios_verificacion = medios_verificacion + ", " + item_medios.Medios_de_verificacion.Medio_de_verificacion;
                                }

                                foreach (var item_supuestos in item_actividades.Actividades_Supuestos)
                                {
                                    supuestos = supuestos + ", " + item_supuestos.Supuesto.supuesto1;
                                }

                                foreach (var item_responsables in item_actividades.Actividades_Responsables)
                                {
                                    responsables = responsables + ", " + item_responsables.Usuario.Nombre;
                                }

                                foreach (var item_indicadores in item_actividades.Indicadores)
                                {
                                    indicadores = indicadores + ", " + item_indicadores.Indicador;
                                }

                                if (supuestos.Length != 0)
                                    supuestos = supuestos.Trim(',');

                                if (medios_verificacion.Length != 0)
                                    medios_verificacion = medios_verificacion.Trim(',');

                                if (responsables.Length != 0)
                                    responsables = responsables.Trim(',');

                                if (indicadores.Length != 0)
                                    indicadores = indicadores.Trim(',');

                                objcell_Indicadores.InnerHtml = indicadores;
                                objcell_Indicadores.Attributes.CssStyle.Add("border", " dashed 1px " + item_procesos.Color);
                                objcell_Indicadores.Attributes.CssStyle.Add("vertical-align", "middle");
                                objcell_Indicadores.Attributes.CssStyle.Add("text-align", "center");

                                objcell_medios_verificacion.InnerHtml = medios_verificacion;
                                objcell_medios_verificacion.Attributes.CssStyle.Add("border", " dashed 1px " + item_procesos.Color);
                                objcell_medios_verificacion.Attributes.CssStyle.Add("vertical-align", "middle");
                                objcell_medios_verificacion.Attributes.CssStyle.Add("text-align", "center");

                                objcell_supuestos.InnerHtml = supuestos;
                                objcell_supuestos.Attributes.CssStyle.Add("border", " dashed 1px " + item_procesos.Color);
                                objcell_supuestos.Attributes.CssStyle.Add("vertical-align", "middle");
                                objcell_supuestos.Attributes.CssStyle.Add("text-align", "center");

                                objcell_responsables.InnerHtml = responsables;
                                objcell_responsables.Attributes.CssStyle.Add("border", " dashed 1px " + item_procesos.Color);
                                objcell_responsables.Attributes.CssStyle.Add("vertical-align", "middle");
                                objcell_responsables.Attributes.CssStyle.Add("text-align", "center");

                                objrow_actividades.Cells.Add(objcell_Indicadores);
                                objrow_actividades.Cells.Add(objcell_medios_verificacion);
                                objrow_actividades.Cells.Add(objcell_supuestos);
                                objrow_actividades.Cells.Add(objcell_responsables);

                                objtable.Rows.Add(objrow_actividades);

                                rowspan_proceso++;
                            }
                        }

                    }

                    objtable.Rows[contador_filas + 1].Cells[0].Attributes.Add("rowspan", (rowspan_proceso + 1).ToString());
                }

                matriz.Controls.Add(objtable);

                Session.Add("p_c", objtable);
            }
            catch (Exception) { }
        }