Example #1
0
        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));
        }
Example #2
0
        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();
        }