public void LlenarGrillas() { if (CodConvocatoria != 0 && CodProyecto != 0) { // cargo la grilla de aportes var list = consultas.ObtenerAportes(Convert.ToString(CodProyecto), Convert.ToString(CodConvocatoria)); var lstaportes = new List <EvaluacionProyectoAporte>(); var lstcapital = new List <EvaluacionProyectoAporte>(); var lstdiferencia = new List <EvaluacionProyectoAporte>(); if (list.Any()) { foreach (var items in list) { if (items.id_TipoIndicador == 1) { lstaportes = consultas.Db.EvaluacionProyectoAportes .Where( ea => ea.CodProyecto == CodProyecto && ea.CodConvocatoria == CodConvocatoria && ea.CodTipoIndicador == items.id_TipoIndicador).ToList(); var d = !string.IsNullOrEmpty(items.TotalSolicitado.ToString()) ? items.TotalSolicitado : 0; if (d != null) { TotalSolicitadoAporte = (double)d; } TotalRecomendadoAporte = !string.IsNullOrEmpty(items.TotalRecomendado.ToString()) ? items.TotalRecomendado : 0; } else if (items.id_TipoIndicador == 2) { lstcapital = consultas.Db.EvaluacionProyectoAportes .Where( ea => ea.CodProyecto == CodProyecto && ea.CodConvocatoria == CodConvocatoria && ea.CodTipoIndicador == items.id_TipoIndicador).ToList(); var d = !string.IsNullOrEmpty(items.TotalSolicitado.ToString()) ? items.TotalSolicitado : 0; if (d != null) { TotalSolicitadoAporteC = (double)d; } TotalRecomendadoAporteC = !string.IsNullOrEmpty(items.TotalRecomendado.ToString()) ? items.TotalRecomendado : 0; } else if (items.id_TipoIndicador == 3) { lstdiferencia = consultas.Db.EvaluacionProyectoAportes .Where( ea => ea.CodProyecto == CodProyecto && ea.CodConvocatoria == CodConvocatoria && ea.CodTipoIndicador == items.id_TipoIndicador).ToList(); var d = !string.IsNullOrEmpty(items.TotalSolicitado.ToString()) ? items.TotalSolicitado : 0; if (d != null) { TotalSolicitadoAporteD = (double)d; } TotalRecomendadoAporteD = !string.IsNullOrEmpty(items.TotalRecomendado.ToString()) ? items.TotalRecomendado : 0; } } if (lstaportes.Any()) { GrAportes.DataSource = lstaportes; GrAportes.DataBind(); } else { PnlInversiones.Visible = false; } if (lstdiferencia.Any()) { GrvDifereridas.DataSource = lstdiferencia; GrvDifereridas.DataBind(); } else { } if (lstcapital.Any()) { GrvCapital.DataSource = lstcapital; GrvCapital.DataBind(); } else { //panelcapital.Visible = false; var sql = "INSERT INTO EvaluacionProyectoAporte SELECT " + CodProyecto + ", " + CodConvocatoria + ", 2, Componente, Observacion, Valor, null, 1, null "; sql += "FROM proyectoCapital WHERE codProyecto = " + CodProyecto; var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString); var cmd = new SqlCommand(sql, conn); conn.Open(); cmd.CommandType = CommandType.Text; cmd.ExecuteNonQuery(); conn.Close(); conn.Dispose(); //LlenarGrillas(); } } else { var sql = "INSERT INTO EvaluacionProyectoAporte SELECT codProyecto, " + CodConvocatoria + ", CASE WHEN UPPER(TipoInversion) = 'FIJA' THEN 1 WHEN UPPER(TipoInversion) = 'DIFERIDA' THEN 3 END, Concepto , Concepto, Valor, null, 1, null "; sql += "FROM ProyectoInversion WHERE upper(TipoInversion) in('FIJA', 'DIFERIDA') AND codProyecto = " + CodProyecto; var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString); var cmd = new SqlCommand(sql, conn); conn.Open(); cmd.CommandType = CommandType.Text; cmd.ExecuteNonQuery(); conn.Close(); conn.Dispose(); //LlenarGrillas(); } // cargo la grilla de integrantes var consulta = consultas.ObtenerIntegrantesIniciativa(Convert.ToString(CodProyecto), Convert.ToString(CodConvocatoria)); if (consulta.Any()) { GrvIntegrantes.DataSource = consulta; GrvIntegrantes.DataBind(); } var info = (from tig in consultas.Db.TipoIndicadorGestions from epa in consultas.Db.EvaluacionProyectoAportes where epa.CodProyecto == CodProyecto && epa.CodConvocatoria == CodConvocatoria && epa.CodTipoIndicador == tig.Id_TipoIndicador group new { tig, epa } by new { tig.nomTipoIndicador, tig.Id_TipoIndicador } into tig1 //orderby tig1.Select(x => x.tig.Id_TipoIndicador) select new { nomTipoIndicador = tig1.Select(x => x.tig.nomTipoIndicador), Id_TipoIndicador = tig1.Select(x => x.tig.Id_TipoIndicador), TotalSolicitado = tig1.Select(x => x.epa.Solicitado == null ? 0 : x.epa.Solicitado).Sum(), TotalRecomendado = tig1.Select(x => x.epa.Recomendado == null ? 0 : x.epa.Recomendado).Sum() } ); foreach (var rs in info) { var result = (from epa in consultas.Db.EvaluacionProyectoAportes where epa.CodProyecto == CodProyecto && epa.CodConvocatoria == CodConvocatoria && epa.CodTipoIndicador.Equals(rs.Id_TipoIndicador) orderby epa.Id_Aporte select new { epa.Id_Aporte, epa.Nombre, epa.Detalle, epa.Solicitado, recomendado = epa.Recomendado == null ? 0 : epa.Recomendado, epa.Protegido, epa.CodTipoIndicador }); switch (rs.Id_TipoIndicador.ToString()) { case "1": GrAportes.DataSource = result; GrAportes.DataBind(); break; case "2": GrvCapital.DataSource = result; GrvCapital.DataBind(); break; case "3": GrvDifereridas.DataSource = result; GrvDifereridas.DataBind(); break; } } } //Valor SMLMV recomendado float total = 0; var sql2 = "SELECT nomTipoIndicador, id_TipoIndicador, sum(solicitado) as TotalSolicitado, isnull(sum(Recomendado),0) as TotalRecomendado "; sql2 += "FROM TipoIndicadorGestion T, EvaluacionProyectoAporte E WHERE E.codProyecto=" + CodProyecto + " AND E.codConvocatoria=" + CodConvocatoria + " AND "; sql2 += "codTipoIndicador= id_tipoindicador GROUP BY nomTipoIndicador, id_TipoIndicador ORDER BY id_TipoIndicador"; var recomendado = consultas.ObtenerDataTable(sql2, "text"); foreach (DataRow row in recomendado.Rows) { total += float.Parse(row["TotalRecomendado"].ToString()); } var objSalario = consultas.Db.SalariosMinimos.OrderByDescending(s => s.Id_SalariosMinimos).FirstOrDefault(); txtrecomendado.Text = string.Format("{0:#,##0}", (total / objSalario.SalarioMinimo)); }
public void LlenarGrillas() { if (CodigoConvocatoria != 0 && CodigoProyecto != 0) { // cargo la grilla de aportes GetAportes(CodigoProyecto, CodigoConvocatoria); var list = consultas.ObtenerAportes(Convert.ToString(CodigoProyecto), Convert.ToString(CodigoConvocatoria)); var lstaportes = new List <Aporte>(); var lstcapital = new List <Aporte>(); var lstdiferencia = new List <EvaluacionProyectoAporte>(); if (list.Any()) { foreach (var items in list) { if (items.id_TipoIndicador == 1) { lstaportes = consultas.Db.EvaluacionProyectoAportes .Where( ea => ea.CodProyecto == CodigoProyecto && ea.CodConvocatoria == CodigoConvocatoria && ea.CodTipoIndicador == items.id_TipoIndicador) .Select( selector => new Aporte() { Id_Aporte = selector.Id_Aporte, CodProyecto = selector.CodProyecto, CodConvocatoria = selector.CodConvocatoria, CodTipoIndicador = selector.CodTipoIndicador, Nombre = selector.Nombre, Detalle = selector.Detalle, Solicitado = selector.Solicitado, Recomendado = selector.Recomendado, Protegido = selector.Protegido, IdFuenteFinanciacion = selector.IdFuenteFinanciacion, FuenteFinanciacionTMP = selector.IdFuenteFinanciacion != null ? consultas.Db.FuenteFinanciacions.FirstOrDefault(filter => filter.IdFuente.Equals(selector.IdFuenteFinanciacion)).DescFuente : string.Empty }) .OrderBy(orderBy => orderBy.Id_Aporte) .ToList(); var d = !string.IsNullOrEmpty(items.TotalSolicitado.ToString()) ? items.TotalSolicitado : 0; if (d != null) { TotalSolicitadoAporte = (double)d; } TotalRecomendadoAporte = !string.IsNullOrEmpty(items.TotalRecomendado.ToString()) ? items.TotalRecomendado : 0; } else if (items.id_TipoIndicador == 2) { lstcapital = consultas.Db.EvaluacionProyectoAportes .Where( ea => ea.CodProyecto == CodigoProyecto && ea.CodConvocatoria == CodigoConvocatoria && ea.CodTipoIndicador == items.id_TipoIndicador).Select( selector => new Aporte() { Id_Aporte = selector.Id_Aporte, CodProyecto = selector.CodProyecto, CodConvocatoria = selector.CodConvocatoria, CodTipoIndicador = selector.CodTipoIndicador, Nombre = selector.Nombre, Detalle = selector.Detalle.Replace("(Emprendedor)", string.Empty).Replace("(Fondo)", string.Empty).Replace("(Ventas)", string.Empty), Solicitado = selector.Solicitado, Recomendado = selector.Recomendado, Protegido = selector.Protegido, IdFuenteFinanciacion = selector.IdFuenteFinanciacion, FuenteFinanciacionTMP = selector.IdFuenteFinanciacion != null ? consultas.Db.FuenteFinanciacions.FirstOrDefault(filter => filter.IdFuente.Equals(selector.IdFuenteFinanciacion)).DescFuente : string.Empty, TipoAporte = selector.Nombre.Equals("Nómina") ? GetTipoAporte(selector.Detalle) : string.Empty }) .OrderBy(orderBy => orderBy.Id_Aporte) .ToList(); var d = !string.IsNullOrEmpty(items.TotalSolicitado.ToString()) ? items.TotalSolicitado : 0; if (d != null) { TotalSolicitadoAporteC = (double)d; } TotalRecomendadoAporteC = !string.IsNullOrEmpty(items.TotalRecomendado.ToString()) ? items.TotalRecomendado : 0; } else if (items.id_TipoIndicador == 3) { lstdiferencia = consultas.Db.EvaluacionProyectoAportes .Where( ea => ea.CodProyecto == CodigoProyecto && ea.CodConvocatoria == CodigoConvocatoria && ea.CodTipoIndicador == items.id_TipoIndicador) .OrderBy(orderBy => orderBy.Id_Aporte) .ToList(); var d = !string.IsNullOrEmpty(items.TotalSolicitado.ToString()) ? items.TotalSolicitado : 0; if (d != null) { TotalSolicitadoAporteD = (double)d; } TotalRecomendadoAporteD = !string.IsNullOrEmpty(items.TotalRecomendado.ToString()) ? items.TotalRecomendado : 0; } } if (lstaportes.Any()) { GrAportes.DataSource = lstaportes; GrAportes.DataBind(); } else { PnlInversiones.Visible = false; }; if (lstdiferencia.Any()) { GrvDifereridas.DataSource = lstdiferencia; GrvDifereridas.DataBind(); } if (lstcapital.Any()) { GrvCapital.DataSource = lstcapital; GrvCapital.DataBind(); } } // cargo la grilla de integrantes var consulta = consultas.ObtenerIntegrantesIniciativa(Convert.ToString(CodigoProyecto), Convert.ToString(CodigoConvocatoria)); if (consulta.Any()) { GrvIntegrantes.DataSource = consulta; GrvIntegrantes.DataBind(); } var info = (from tig in consultas.Db.TipoIndicadorGestions from epa in consultas.Db.EvaluacionProyectoAportes where epa.CodProyecto == CodigoProyecto && epa.CodConvocatoria == CodigoConvocatoria && epa.CodTipoIndicador == tig.Id_TipoIndicador group new { tig, epa } by new { tig.nomTipoIndicador, tig.Id_TipoIndicador } into tig1 select new { nomTipoIndicador = tig1.Select(x => x.tig.nomTipoIndicador), Id_TipoIndicador = tig1.Select(x => x.tig.Id_TipoIndicador), TotalSolicitado = tig1.Select(x => x.epa.Solicitado == null ? 0 : x.epa.Solicitado).Sum(), TotalRecomendado = tig1.Select(x => x.epa.Recomendado == null ? 0 : x.epa.Recomendado).Sum() } ); foreach (var rs in info) { var result = (from epa in consultas.Db.EvaluacionProyectoAportes where epa.CodProyecto == CodigoProyecto && epa.CodConvocatoria == CodigoConvocatoria && epa.CodTipoIndicador.Equals(rs.Id_TipoIndicador) orderby epa.Id_Aporte select new { epa.Id_Aporte, epa.Nombre, epa.Detalle, epa.Solicitado, recomendado = epa.Recomendado == null ? 0 : epa.Recomendado, epa.Protegido, epa.CodTipoIndicador }); switch (rs.Id_TipoIndicador.ToString()) { case "1": GrAportes.DataSource = result; GrAportes.DataBind(); break; case "2": GrvCapital.DataSource = result; GrvCapital.DataBind(); break; case "3": GrvDifereridas.DataSource = result; GrvDifereridas.DataBind(); break; } } } //Valor SMLMV recomendado float total = 0; var sql2 = "SELECT nomTipoIndicador, id_TipoIndicador, sum(solicitado) as TotalSolicitado, isnull(sum(Recomendado),0) as TotalRecomendado, MAX(YEAR(Convocatoria.FechaInicio)) as AnnoConvocatoria "; sql2 += "FROM TipoIndicadorGestion T, EvaluacionProyectoAporte E inner join Convocatoria on E.CodConvocatoria = Convocatoria.Id_Convocatoria WHERE E.codProyecto=" + CodigoProyecto + " AND E.codConvocatoria=" + CodigoConvocatoria + " AND "; sql2 += "codTipoIndicador= id_tipoindicador GROUP BY nomTipoIndicador, id_TipoIndicador ORDER BY id_TipoIndicador"; var recomendado = consultas.ObtenerDataTable(sql2, "text"); float annoConvocatoria = 0; foreach (DataRow row in recomendado.Rows) { total += float.Parse(row["TotalRecomendado"].ToString()); annoConvocatoria = float.Parse(row["AnnoConvocatoria"].ToString()); } var objSalario = consultas.Db.SalariosMinimos.Where(filter => filter.AñoSalario.Equals(annoConvocatoria)).FirstOrDefault(); //txtrecomendado.Text = string.Format("{0:#,##0}", (total / objSalario.SalarioMinimo)); txtrecomendado.Text = (total / objSalario.SalarioMinimo).ToString(); }