private void CargarGrid() { txtSql = "SELECT SUM(puntaje) FROM convocatoriacampo cc, campo c WHERE id_campo=cc.codcampo AND c.codcampo IS NULL "; txtSql += "AND codconvocatoria = " + codConvocatoria; if (codConvocatoria > 1) { txtSql += " AND id_Campo<>6"; } var dt = consultas.ObtenerDataTable(txtSql, "text"); if (dt.Rows.Count > 0) { puntajeMinimo = int.Parse((dt.Rows[0].ItemArray[0].ToString() != "" ? dt.Rows[0].ItemArray[0].ToString() : "0")); } var convocatoria = (from c in consultas.Db.Convocatoria where c.Id_Convocatoria == codConvocatoria select c).FirstOrDefault(); var anioConvoca = convocatoria.FechaFin.Year; lblTituloConvocatoria.Text = convocatoria.NomConvocatoria; string viable; if (Request["viable"] != null) { viable = Request["viable"].ToString() + " And "; } else { viable = string.Empty; } txtSql = "select id_proyecto, nomproyecto, nomciudad, d.NomDepartamento, nominstitucion, nomunidad, isnull(recursos,0) as montosolicitado, "; txtSql += " round (isnull (valorrecomendado,0),0) as montorecomendado, case when isnull(viable, 0)=1 then 'SI' else 'NO' end as viable from proyecto "; txtSql += "inner join convocatoriaproyecto cp on id_proyecto=cp.codproyecto and " + viable + " codconvocatoria= " + codConvocatoria; txtSql += " inner join ciudad on id_ciudad=codciudad inner join departamento d on id_departamento=coddepartamento "; txtSql += "inner join subsector on id_subsector = codsubsector inner join sector on id_sector = codsector "; txtSql += "inner join institucion on id_institucion = codinstitucion left join proyectofinanzasingresos pfi on id_proyecto=pfi.codproyecto "; txtSql += "left join evaluacionobservacion ev on id_proyecto=ev.codproyecto and ev.codconvocatoria = cp.codconvocatoria "; txtSql += "order by nomdepartamento "; dt = consultas.ObtenerDataTable(txtSql, "text"); if (dt.Rows.Count > 0) { string[] encabezados = new string[51]; encabezados[0] = "Municipio"; encabezados[1] = "Unidad de Emprendimiento"; encabezados[2] = "ID"; encabezados[3] = "Plan de Negocio"; encabezados[4] = "Viable"; encabezados[5] = "Valor Solicitado"; encabezados[6] = "Valor Recomendado"; encabezados[7] = "A"; encabezados[8] = "B"; encabezados[9] = "C"; encabezados[10] = "D"; encabezados[11] = "E"; encabezados[12] = "GENERALES"; encabezados[13] = "F"; encabezados[14] = "G"; encabezados[15] = "H"; encabezados[16] = "I"; encabezados[17] = "J"; encabezados[18] = "K"; encabezados[19] = "L"; encabezados[20] = "M"; encabezados[21] = "N"; encabezados[22] = "O"; encabezados[23] = "P"; encabezados[24] = "Q"; encabezados[25] = "R"; encabezados[26] = "S"; encabezados[27] = "COMERCIALES"; encabezados[28] = "T"; encabezados[29] = "U"; encabezados[30] = "V"; encabezados[31] = "W"; encabezados[32] = "X"; encabezados[33] = "Y"; encabezados[34] = "Técnicos"; encabezados[35] = "Z"; encabezados[36] = "AA"; encabezados[37] = "AB"; encabezados[38] = "AC"; encabezados[39] = "AD"; encabezados[40] = "AE"; encabezados[41] = "AF"; encabezados[42] = "ORGANIZACIONALES"; encabezados[43] = "AG"; encabezados[44] = "AH"; encabezados[45] = "AI"; encabezados[46] = "AJ"; encabezados[47] = "AK"; encabezados[48] = "FINANCIEROS"; encabezados[49] = "Medio Ambiente"; encabezados[50] = "Puntaje Total"; var rowHead = new TableRow(); for (var i = 0; i <= 50; i++) { var cell = new TableCell { Text = encabezados[i] }; cell.Font.Bold = true; cell.ForeColor = System.Drawing.Color.DarkBlue; rowHead.Cells.Add(cell); } rowHead.TableSection = TableRowSection.TableHeader; tblReporte.Rows.Add(rowHead); int numAspectos = 6; foreach (DataRow fila in dt.Rows) { var row = new TableRow(); PuntajeTotal = 0; if (NombreDpto != fila["NomDepartamento"].ToString()) { NombreDpto = fila["NomDepartamento"].ToString(); _totalSolicitado = 0; _subTotalRecomendado = 0; _subTotalRecomendadoAprobados = 0; _subTotalRecomendadoViables = 0; _subTotalProyectos = 0; _subTotalAprobados = 0; _subTotalViables = 0; _subTotalAvalados = 0; } var cell = new TableCell(); cell.Text = fila["NomCiudad"].ToString() + " (" + fila["NomDepartamento"].ToString() + ")"; row.Cells.Add(cell); var cell2 = new TableCell(); cell2.Text = fila["NomUnidad"].ToString() + " (" + fila["NomInstitucion"].ToString() + ")"; row.Cells.Add(cell2); var cell3 = new TableCell(); cell3.Text = fila["Id_Proyecto"].ToString(); row.Cells.Add(cell3); var cell4 = new TableCell(); cell4.Text = fila["NomProyecto"].ToString(); row.Cells.Add(cell4); var cell5 = new TableCell(); cell5.Text = fila["viable"].ToString(); row.Cells.Add(cell5); var cell6 = new TableCell(); cell6.Text = fila["montosolicitado"].ToString(); row.Cells.Add(cell6); var cell7 = new TableCell(); cell7.Text = fila["montorecomendado"].ToString(); row.Cells.Add(cell7); for (var j = 1; j < numAspectos; j++) { txtSql = "select puntaje from evaluacioncampo ec "; txtSql += "inner join campo c on c.id_campo = ec.codcampo "; txtSql += "inner join campo v on v.id_campo = c.codcampo "; txtSql += "inner join campo a on a.id_campo = v.codcampo "; txtSql += "where codproyecto=" + fila["id_proyecto"].ToString() + " and codconvocatoria=" + codConvocatoria + " and a.id_campo=" + j; txtSql += " order by a.id_campo,v.campo Asc"; var dtAspepcto = consultas.ObtenerDataTable(txtSql, "text"); PuntajeAspecto = 0; foreach (DataRow f in dtAspepcto.Rows) { if (j < 6) { var cellA = new TableCell(); cellA.Text = f["Puntaje"].ToString(); row.Cells.Add(cellA); } if (!string.IsNullOrEmpty(f["Puntaje"].ToString())) { PuntajeAspecto += int.Parse(f["Puntaje"].ToString()); if (j < 6) { PuntajeTotal += int.Parse(f["Puntaje"].ToString()); } } } dtAspepcto = null; var cellb = new TableCell(); cellb.Text = PuntajeAspecto.ToString(); row.Cells.Add(cellb); } var cellViable = new TableCell(); if (fila["viable"].ToString() == "SI") { cellViable.Text = "1"; } else { cellViable.Text = "0"; } row.Cells.Add(cellViable); var cell8 = new TableCell(); cell8.Text = PuntajeTotal.ToString(); row.Cells.Add(cell8); if (fila["viable"].ToString() == "SI") { _subTotalViables += 1; _totalViables += 1; _subTotalRecomendadoViables += int.Parse(fila["montorecomendado"].ToString()); _totalRecomendadoViables += int.Parse(fila["montorecomendado"].ToString()); } txtSql = "SELECT isnull(COUNT(0),0) as Total FROM TabEvaluacion WHERE codTabEvaluacion is NULL"; var dtAux = consultas.ObtenerDataTable(txtSql, "text"); var numTbas = int.Parse(dtAux.Rows[0].ItemArray[0].ToString()) - 2; txtSql = "select codproyecto from tabevaluacionproyecto tep, tabevaluacion te "; txtSql += "where id_tabevaluacion=tep.codtabevaluacion and realizado=1 "; txtSql += "and te.codtabevaluacion is null and codproyecto=" + fila["id_Proyecto"].ToString() + " group by codproyecto "; txtSql += "HAVING count(tep.codtabevaluacion)= " + numTbas; var dtAux2 = consultas.ObtenerDataTable(txtSql, "text"); if (dtAux2.Rows.Count > 0) { _subTotalAvalados += 1; _totalAvaslados += 1; } tblReporte.Rows.Add(row); } //DtlReporteDetallado.DataSource = dt; //DtlReporteDetallado.DataBind(); } }
protected void DtlReporteDetallado_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { #region Variables Generales // GENERALES var puntajea = e.Item.FindControl("lblga") as Label; var puntajeb = e.Item.FindControl("lblgb") as Label; var puntajec = e.Item.FindControl("lblgc") as Label; var puntajed = e.Item.FindControl("lblgd") as Label; var puntajeE = e.Item.FindControl("lblge") as Label; var lpuntajetotal = e.Item.FindControl("lpuntajetotal") as Label; var puntajetotalG = e.Item.FindControl("lbltotalG") as Label; // FIN // #endregion #region Variables Comerciales // COMERCIALES /// var lblcc = e.Item.FindControl("lblcc") as Label; var lblcg = e.Item.FindControl("lblcg") as Label; var lblch = e.Item.FindControl("lblch") as Label; var lblci = e.Item.FindControl("lblci") as Label; var lblcj = e.Item.FindControl("lblcj") as Label; var lblck = e.Item.FindControl("lblck") as Label; var lblcl = e.Item.FindControl("lblcl") as Label; var lblcm = e.Item.FindControl("lblcm") as Label; var lblcn = e.Item.FindControl("lblcn") as Label; var lblco = e.Item.FindControl("lblco") as Label; var lblcp = e.Item.FindControl("lblcp") as Label; var lblcq = e.Item.FindControl("lblcq") as Label; var lblcr = e.Item.FindControl("lblcr") as Label; var lblcs = e.Item.FindControl("lblcs") as Label; var lbltotalC = e.Item.FindControl("lbltotalC") as Label; //*****************************//// #endregion #region Variables Tecnicos var lbltt = e.Item.FindControl("lbltt") as Label; var lbltu = e.Item.FindControl("lbltu") as Label; var lbltv = e.Item.FindControl("lbltv") as Label; var lbltw = e.Item.FindControl("lbltw") as Label; var lbltx = e.Item.FindControl("lbltx") as Label; var lblty = e.Item.FindControl("lblty") as Label; var lblTotalT = e.Item.FindControl("lblTotalT") as Label; #endregion #region Variables Organizacionales var lbloz = e.Item.FindControl("lbloz") as Label; var lbloaa = e.Item.FindControl("lbloaa") as Label; var lbloab = e.Item.FindControl("lbloab") as Label; var lbloac = e.Item.FindControl("lbloac") as Label; var lbload = e.Item.FindControl("lbload") as Label; var lbloae = e.Item.FindControl("lbloae") as Label; var lbloaf = e.Item.FindControl("lbloaf") as Label; var lblTotalO = e.Item.FindControl("lblTotalO") as Label; #endregion #region Variables Financieros var lblfag = e.Item.FindControl("lblfag") as Label; var lblfah = e.Item.FindControl("lblfah") as Label; var lblfai = e.Item.FindControl("lblfai") as Label; var lblfaj = e.Item.FindControl("lblfaj") as Label; var lblfak = e.Item.FindControl("lblfak") as Label; var lblTotalF = e.Item.FindControl("lblTotalF") as Label; #endregion #region Variable Medio Ambiente var lblmAL = e.Item.FindControl("lblmAL") as Label; var lblTotalM = e.Item.FindControl("lblTotalM") as Label; #endregion var idproyecto = e.Item.FindControl("lblidproyecto") as Label; var viable = e.Item.FindControl("lblviable") as Label; var solicitado = e.Item.FindControl("lblsolicitado") as Label; var recomendado = e.Item.FindControl("lblrecomendado") as Label; if (puntajea != null) { if (idproyecto != null) { PuntajeTotal = 0; for (int i = 1; i < _numAspectos; i++) { PuntajeAspecto = 0; PuntajeComercial = 0; PuntajeTecnico = 0; PuntajeOrganizacional = 0; PuntajeFinanciero = 0; PuntajeMedioAmbiente = 0; List <string> mipuntaje = Obtenerpuntaje(Convert.ToInt32(idproyecto.Text), i); foreach (string mpunt in mipuntaje) { #region Generales if (i < 6) { /* *********************************** INCIO GENERALES *******************************/ if (i == 1) { if (string.IsNullOrEmpty(puntajea.Text)) { puntajea.Text = mpunt; } else if (string.IsNullOrEmpty(puntajeb.Text)) { puntajeb.Text = mpunt; } else if (string.IsNullOrEmpty(puntajec.Text)) { puntajec.Text = mpunt; } else if (string.IsNullOrEmpty(puntajed.Text)) { puntajed.Text = mpunt; } else if (string.IsNullOrEmpty(puntajeE.Text)) { puntajeE.Text = mpunt; } } /* *********************************** FIN GENERALES *******************************/ #endregion #region Comerciales /*********************************** INICIO COMERCIALES *******************************/ if (i == 2) { if (string.IsNullOrEmpty(lblcc.Text)) { lblcc.Text = mpunt; } else if (string.IsNullOrEmpty(lblcg.Text)) { lblcg.Text = mpunt; } else if (string.IsNullOrEmpty(lblch.Text)) { lblch.Text = mpunt; } else if (string.IsNullOrEmpty(lblci.Text)) { lblci.Text = mpunt; } else if (string.IsNullOrEmpty(lblcj.Text)) { lblcj.Text = mpunt; } else if (string.IsNullOrEmpty(lblck.Text)) { lblck.Text = mpunt; } else if (string.IsNullOrEmpty(lblcl.Text)) { lblcl.Text = mpunt; } else if (string.IsNullOrEmpty(lblcm.Text)) { lblcm.Text = mpunt; } else if (string.IsNullOrEmpty(lblcn.Text)) { lblcn.Text = mpunt; } else if (string.IsNullOrEmpty(lblco.Text)) { lblco.Text = mpunt; } else if (string.IsNullOrEmpty(lblcp.Text)) { lblcp.Text = mpunt; } else if (string.IsNullOrEmpty(lblcq.Text)) { lblcq.Text = mpunt; } else if (string.IsNullOrEmpty(lblcr.Text)) { lblcr.Text = mpunt; } else if (string.IsNullOrEmpty(lblcs.Text)) { lblcs.Text = mpunt; } } /* *********************************** FIN COMERCIALES *******************************/ #endregion #region Tecnicos /*********************************** INICIO TECNICOS *******************************/ if (i == 3) { if (string.IsNullOrEmpty(lbltt.Text)) { lbltt.Text = mpunt; } else if (string.IsNullOrEmpty(lbltu.Text)) { lbltu.Text = mpunt; } else if (string.IsNullOrEmpty(lbltv.Text)) { lbltv.Text = mpunt; } else if (string.IsNullOrEmpty(lbltw.Text)) { lbltw.Text = mpunt; } else if (string.IsNullOrEmpty(lbltx.Text)) { lbltx.Text = mpunt; } else if (string.IsNullOrEmpty(lblty.Text)) { lblty.Text = mpunt; } } /* *********************************** FIN TECNICOS *******************************/ #endregion #region Organizacionales /*********************************** INICIO ORGANIZACIONALES *******************************/ if (i == 4) { if (string.IsNullOrEmpty(lbloz.Text)) { lbloz.Text = mpunt; } else if (string.IsNullOrEmpty(lbloaa.Text)) { lbloaa.Text = mpunt; } else if (string.IsNullOrEmpty(lbloab.Text)) { lbloab.Text = mpunt; } else if (string.IsNullOrEmpty(lbloac.Text)) { lbloac.Text = mpunt; } else if (string.IsNullOrEmpty(lbload.Text)) { lbload.Text = mpunt; } else if (string.IsNullOrEmpty(lbloae.Text)) { lbloae.Text = mpunt; } else if (string.IsNullOrEmpty(lbloaf.Text)) { lbloaf.Text = mpunt; } } /* *********************************** FIN ORGANIZACIONALES *******************************/ #endregion #region Financieros /*********************************** INICIO FINANCIEROS *******************************/ if (i == 5) { if (string.IsNullOrEmpty(lblfag.Text)) { lblfag.Text = mpunt; } else if (string.IsNullOrEmpty(lblfah.Text)) { lblfah.Text = mpunt; } else if (string.IsNullOrEmpty(lblfai.Text)) { lblfai.Text = mpunt; } else if (string.IsNullOrEmpty(lblfaj.Text)) { lblfaj.Text = mpunt; } else if (string.IsNullOrEmpty(lblfak.Text)) { lblfak.Text = mpunt; } } /* *********************************** FIN FINANCIEROS *******************************/ #endregion if (i == 6) { //medio ambiente if (string.IsNullOrEmpty(lblmAL.Text)) { lblmAL.Text = mpunt; } //fin medio ambiente. } if (!string.IsNullOrEmpty(mpunt)) { PuntajeAspecto += Convert.ToInt16(mpunt); if (i == 2) { PuntajeComercial += Convert.ToInt16(mpunt); } if (i == 3) { PuntajeTecnico += Convert.ToInt16(mpunt); } if (i == 4) { PuntajeOrganizacional += Convert.ToInt16(mpunt); } if (i == 5) { PuntajeFinanciero += Convert.ToInt16(mpunt); } if (i == 6) { PuntajeMedioAmbiente += Convert.ToInt16(mpunt); } } //PuntajeTotal = PuntajeAspecto + PuntajeComercial + PuntajeTecnico + PuntajeOrganizacional + PuntajeFinanciero + PuntajeMedioAmbiente; PuntajeTotal += Convert.ToInt16(mpunt); lpuntajetotal.Text = PuntajeTotal.ToString(); #region Totales if (i == 1) { puntajetotalG.Text = PuntajeAspecto.ToString(); } if (i == 2) { lbltotalC.Text = PuntajeComercial.ToString(); } if (i == 3) { lblTotalT.Text = PuntajeTecnico.ToString(); } if (i == 4) { lblTotalO.Text = PuntajeOrganizacional.ToString(); } if (i == 5) { lblTotalF.Text = PuntajeFinanciero.ToString(); } if (i == 6) { lblTotalM.Text = PuntajeMedioAmbiente.ToString(); } #endregion } } if (viable != null) { if (viable.Text == "SI") { _subTotalViables += 1; _totalViables += 1; _subTotalRecomendadoViables += Convert.ToInt32(recomendado.Text); _totalRecomendado += Convert.ToInt32(solicitado.Text); } } consultas.Parameters = null; consultas.Parameters = new[] { new SqlParameter { ParameterName = "@idproyecto", Value = Convert.ToInt32(idproyecto.Text) } }; DataTable dtProyecto = consultas.ObtenerDataTable("MD_obtenerTabs"); if (dtProyecto.Rows.Count != 0) { _subTotalAvalados += 1; _totalAvaslados += 1; } _subTotalSolicitado += Convert.ToInt32(solicitado.Text); _totalSolicitado += Convert.ToInt32(solicitado.Text); _subTotalRecomendado += Convert.ToInt32(recomendado.Text); _totalRecomendado += Convert.ToInt32(recomendado.Text); _subTotalProyectos += 1; _totalProyectos += 1; if (PuntajeTotal >= puntajeMinimo) { _subTotalAprobados += 1; _totalAprobados += 1; _subTotalRecomendadoAprobados += Convert.ToInt32(recomendado.Text); _subTotalAprobados += _subTotalRecomendadoAprobados + Convert.ToInt32(recomendado.Text); _totalRecomendadoAprobados += Convert.ToInt32(recomendado.Text); } } } } } }