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&width=100%&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&width=100%&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&width=100%&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&width=100%&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&width=100%&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&width=100%&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&width=100%&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&width=100%&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*/ } }
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) { } }