Пример #1
0
        protected void txtCodigoReintegro_TextChanged(object sender, EventArgs e)
        {
            try
            {
                var pago           = Pagos.GetInfoPago(CodigoPago);
                var valorReintegro = decimal.Parse(txtValorReintegro.Text.Trim().Replace(",", "").Replace(".", ","));

                if (valorReintegro > pago.CantidadDinero)
                {
                    throw new ApplicationException("El valor del reintegro no puede ser mayor al valor del pago.");
                }

                var presupuesto = Negocio.PlanDeNegocioV2.Interventoria.Interventoria.PresupuestoAprobadoInterventoria(pago.CodProyecto.GetValueOrDefault(0), null);

                var valorPago = pago.CantidadDinero.GetValueOrDefault(0) - valorReintegro;
                lblValorPagoPostReintegro.Text = FieldValidate.moneyFormat(valorPago);
                var presupuestoConReintegro = Convert.ToDecimal(presupuesto) + valorReintegro;

                lblPresupuestoConReintegro.Text = FieldValidate.moneyFormat(presupuestoConReintegro, true);
            }
            catch (ApplicationException ex)
            {
                lblError.Visible = true;
                lblError.Text    = "Advertencia:" + ex.Message;
            }
            catch (Exception ex)
            {
                lblError.Visible = true;
                lblError.Text    = "Error inesperado :" + ex.Message;
            }
        }
Пример #2
0
        public void GetInfoPago()
        {
            try
            {
                var pago = Pagos.GetInfoPago(CodigoPago);

                if (pago != null)
                {
                    lblMainTitle.Text = "Reintegros - pago " + pago.Id_PagoActividad + " del proyecto " + pago.CodProyecto.GetValueOrDefault();

                    lblValorPagoPostReintegro.Text = FieldValidate.moneyFormat(pago.CantidadDinero.GetValueOrDefault(0), true);
                    var presupuesto = Negocio.PlanDeNegocioV2.Interventoria.Interventoria.PresupuestoAprobadoInterventoria(pago.CodProyecto.GetValueOrDefault(0), null);

                    lblPresupuestoVigente.Text      = FieldValidate.moneyFormat(presupuesto, true);
                    lblPresupuestoConReintegro.Text = FieldValidate.moneyFormat(presupuesto, true);
                }
                else
                {
                    Response.Redirect("~/PlanDeNegocioV2/Administracion/Interventoria/Reintegros/Reintegros.aspx");
                }
            }
            catch (ApplicationException ex)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Пример #3
0
        protected void GetDetails(int codigoProyecto, int codigoConvocatoria)
        {
            ProyectoResumenEjecutivoV2 entResumen = Negocio.PlanDeNegocioV2.Formulacion.ResumenEjecutivo.Resumen.Get(codigoProyecto);

            if (entResumen != null)
            {
                lblPeriodoImproductivo.Text = entResumen.PeriodoImproductivo.ToString();
                lblRecursosAportados.Text   = entResumen.RecursosAportadosEmprendedor.ToString().Trim();
            }

            IndicadorGestionEvaluacion entidadIndicador = Negocio.PlanDeNegocioV2.Utilidad.IndicadorEvaluacion.GetIndicadores(codigoProyecto, codigoConvocatoria);

            if (entidadIndicador != null)
            {
                txtVentasProductosEvaluador.Text = entidadIndicador.Ventas.ToString("N0");

                txtPeriodoImproductivoEvaluador.Text = entidadIndicador.PeriodoImproductivo.ToString();
                txtRecursosAportadosEvaluador.Text   = entidadIndicador.RecursosAportadosEmprendedor;
            }

            var contrapartidas        = Negocio.PlanDeNegocioV2.Utilidad.IndicadorFormulacion.GetContrapartidas(codigoProyecto);
            var ejecucionPresupuestal = Negocio.PlanDeNegocioV2.Utilidad.IndicadorFormulacion.GetPresupuesto(codigoProyecto);
            var ventasTotales         = FieldValidate.moneyFormat(Negocio.PlanDeNegocioV2.Utilidad.IndicadorFormulacion.GetVentas(codigoProyecto), true);
            var idh           = Negocio.PlanDeNegocioV2.Utilidad.IndicadorFormulacion.GetIDH(codigoProyecto);
            var salarioMinimo = Negocio.PlanDeNegocioV2.Utilidad.Convocatoria.GetSalarioMinimoConvocatoria(codigoConvocatoria);
            var valorRecomendadoEvaluacion = Negocio.PlanDeNegocioV2.Utilidad.Convocatoria.GetRecursosAprobados(codigoProyecto, codigoConvocatoria);

            lblContrapartidas.Text                 = lblContrapartidasEvaluador.Text = contrapartidas.ToString();
            lblEjecucionPresupuestal.Text          = ejecucionPresupuestal + " (SMLV) " + "- " + FieldValidate.moneyFormat((ejecucionPresupuestal * salarioMinimo), true);
            lblEjecucionPresupuestalEvaluador.Text = valorRecomendadoEvaluacion + " (SMLV) " + "- " + FieldValidate.moneyFormat((valorRecomendadoEvaluacion * (double)salarioMinimo), true);
            lblVentasProductos.Text                = ventasTotales;
            lblIdh.Text          = idh.ToString();
            lblIdhEvaluador.Text = idh.ToString();
        }
Пример #4
0
        public void GetInfo()
        {
            try
            {
                var contrato = Negocio.PlanDeNegocioV2.Administracion.Interventoria.Abogado.GetContratoByProyecto(CodigoProyecto, Usuario.CodOperador);

                if (contrato.Any())
                {
                    if (!contrato.First().HasInfoCompleted)
                    {
                        throw new ApplicationException("Este proyecto no tiene información de contratos completa");
                    }
                    else
                    {
                        var infoContrato = contrato.First().Contrato;

                        var emprendedores = Negocio.PlanDeNegocioV2.Administracion.Interventoria.ActasDeSeguimientos.ActaSeguimiento.GetEmprendedoresYEquipoTrabajo(CodigoProyecto);

                        if (!emprendedores.Any())
                        {
                            throw new ApplicationException("Este proyecto no tiene emprendedores activos.");
                        }

                        string contratistas = string.Empty;
                        foreach (var emprendedor in emprendedores)
                        {
                            if (string.IsNullOrEmpty(contratistas))
                            {
                                contratistas += emprendedor.Nombres + "-" + emprendedor.Identificacion;
                            }
                            else
                            {
                                contratistas += "," + emprendedor.Nombres + "-" + emprendedor.Identificacion;
                            }
                        }

                        lblNumeroContrato.Text = infoContrato.NumeroContrato;
                        lblTipoDeContrato.Text = infoContrato.TipoContrato;
                        lblObjeto.Text         = infoContrato.ObjetoContrato;
                        lblValor.Text          = FieldValidate.moneyFormat((double)infoContrato.ValorInicialEnPesos.GetValueOrDefault(0), true);
                        lblPlazo.Text          = infoContrato.PlazoContratoMeses + " Meses";
                        lblContratistas.Text   = contratistas;
                    }
                }
            }
            catch (ApplicationException ex)
            {
                btnAdicionar.Visible = false;
                lblError.Visible     = true;
                lblError.Text        = "Advertencia: " + ex.Message;
            }
            catch (Exception ex)
            {
                btnAdicionar.Visible = false;
                lblError.Visible     = true;
                lblError.Text        = "Error inesperado: " + ex.Message;
            }
        }
Пример #5
0
 public SolicitudDePago(int idPagoActividad, DateTime?fechaCoordinador, string razonSocial, decimal?cantidadDinero, string archivoPago, string archivoTercero, string archivoZip)
 {
     this.idPagoActividad          = idPagoActividad;
     this.fechaCoordinador         = fechaCoordinador;
     this.razonSocial              = razonSocial;
     this.cantidadDinero           = cantidadDinero;
     this.archivoPago              = archivoPago;
     this.archivoTercero           = archivoTercero;
     this.archivoZip               = archivoZip;
     this.cantidadDineroConFormato = FieldValidate.moneyFormat(cantidadDinero.Value, true);
     this.fechaConFormato          = FieldValidate.getFechaConFormato(fechaCoordinador.Value);
 }
        private void calcularSalariosYRecursos(int idActa)
        {
            using (Datos.FonadeDBDataContext db = new Datos.FonadeDBDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString))
            {
                var entities = (from actas in db.AsignacionActas
                                join proyectosActa in db.AsignacionActaProyecto on actas.Id_Acta equals proyectosActa.CodActa
                                join evaluacionObservacion in db.EvaluacionObservacions on proyectosActa.CodProyecto equals evaluacionObservacion.CodProyecto
                                join convocatoria in db.Convocatoria on actas.CodConvocatoria equals convocatoria.Id_Convocatoria
                                join salarios in db.SalariosMinimos on convocatoria.FechaFin.Year equals salarios.AñoSalario
                                join proyecto in db.Proyecto on proyectosActa.CodProyecto equals proyecto.Id_Proyecto
                                where actas.Id_Acta == idActa
                                select new ProyectoActa
                {
                    Codigo = evaluacionObservacion.CodProyecto,
                    Nombre = proyecto.NomProyecto,
                    NombreConvocatoria = convocatoria.NomConvocatoria,
                    ValorRecomendado = evaluacionObservacion.ValorRecomendado.GetValueOrDefault(0),
                    Asignado = proyectosActa.Asignado.GetValueOrDefault(false),
                    SalarioMinimo = salarios.SalarioMinimo,
                    Anio = salarios.AñoSalario
                }).ToList();

                Decimal totalSalarios = 0;
                Decimal totalRecursos = 0;
                entities.ForEach(filter =>
                {
                    totalSalarios += Convert.ToDecimal(filter.ValorRecomendado);
                    totalRecursos += Convert.ToDecimal((filter.ValorRecomendado * filter.SalarioMinimo));
                });

                if (totalSalarios == 0)
                {
                    lblTotalSalariosMinimos.Text = "0";
                }
                else
                {
                    lblTotalSalariosMinimos.Text = FieldValidate.moneyFormat(totalSalarios, false);
                }

                if (totalRecursos == 0)
                {
                    lblTotalRecursos.Text = "$0.00";
                }
                else
                {
                    lblTotalRecursos.Text = FieldValidate.moneyFormat(totalRecursos, true) + ".00";
                }
            }
        }
 protected void chkSeleccionarProyecto_CheckedChanged(object sender, EventArgs e)
 {
     try
     {
         decimal totalRecursos = 0;
         foreach (GridViewRow proyecto in gvProyectosAPriorizar.Rows)
         {
             var radioViable = proyecto.FindControl("chkSeleccionarProyecto") as CheckBox;
             if (radioViable.Checked)
             {
                 //The field resourses comes from the database in this string format "$0,0.00",
                 //It was necesary remove the commas, the money character and ".00" tail for the successfull convertion to decimal. By @marztres
                 var recursos = Convert.ToDecimal((proyecto.FindControl("ValorRecomendado") as Label).Text.Remove(0, 1).Replace(",", string.Empty).Replace(".00", string.Empty));
                 totalRecursos += recursos;
             }
         }
         lblTotalRecursos.Text = FieldValidate.moneyFormat(totalRecursos, true) + ".00";
     }
     catch (Exception)
     {
         lblTotalRecursos.Text = "$0.00";
     }
 }
Пример #8
0
        /// <summary>
        /// Carga informacion en la pagina.
        /// William PL
        /// </summary>
        public void GetInfo()
        {
            try
            {
                var actas = Negocio.PlanDeNegocioV2.Administracion.Interventoria.ActasDeSeguimientos.ActaSeguimiento.GetActasByProyecto(CodigoProyecto);

                int numActa = actas.Count;

                //muestra el numero del acta + 1
                lblNumActa.Text = numActa.ToString();

                //Obtenemos el contrato y las empresas
                var contrato = Negocio.PlanDeNegocioV2.Administracion.Interventoria.Abogado.GetContratoByProyecto(CodigoProyecto, Usuario.CodOperador);

                if (contrato.Any())
                {
                    if (!contrato.First().HasInfoCompleted)
                    {
                        throw new ApplicationException("Este proyecto no tiene información de contratos completa");
                    }
                    else
                    {
                        //informacion de contrato y empresa
                        var infoContrato = contrato.First().Contrato;

                        //emprendedores asociados al proyecto
                        var emprendedores = Negocio.PlanDeNegocioV2.Administracion.Interventoria.ActasDeSeguimientos.ActaSeguimiento.GetEmprendedoresYEquipoTrabajo(CodigoProyecto);

                        if (!emprendedores.Any())
                        {
                            throw new ApplicationException("Este proyecto no tiene emprendedores activos.");
                        }

                        string contratistas = string.Empty;

                        foreach (var emprendedor in emprendedores)
                        {
                            if (string.IsNullOrEmpty(contratistas))
                            {
                                contratistas += emprendedor.Nombres + "-" + emprendedor.Identificacion;
                            }
                            else
                            {
                                contratistas += "," + emprendedor.Nombres + "-" + emprendedor.Identificacion;
                            }
                        }
                        //Mostrar contrato
                        lblNumContrato.Text = infoContrato.NumeroContrato;

                        //Mostrar fecha publicacion acta de inicio
                        txtFechaInicio.Text = FechaActainicio(CodigoProyecto);

                        //Motrar Prorroga

                        int pr = Prorroga(CodigoProyecto);
                        lblProrroga.Text = (pr == 0) ? "N/A" : pr.ToString();

                        //Obtener Nombre del proyecto
                        var proyecto = proyectoController.GetInfoProyecto(CodigoProyecto);
                        lblNombreProyecto.Text = proyecto.codProyecto.ToString() + " - " + proyecto.NombreProyecto;

                        //Obtener datos de la empresa
                        var empresa = empresaController.GetEmpresaByProyecto(CodigoProyecto);
                        lblNombreEmpresa.Text    = empresa.razonSocial;
                        lblNitEmpresa.Text       = empresa.nit;
                        lblDomicilioEmpresa.Text = empresa.Direccion;

                        //Obtener datos de convenio
                        var convenio = convenioController.GetConvenioByProyecto(CodigoProyecto);
                        lblContratoMarcoInter.Text = convenio.NomConveio;

                        lblContratistas.Text = contratistas;

                        var convocatoria = convocatoriaController.GetConvocatoriaByProyecto(CodigoProyecto);
                        lblConvocatoriaCorte.Text = convocatoria.Convocatoria;

                        var sector = sectorController.GetSectorByProyecto(CodigoProyecto);
                        lblSectorEconomico.Text = sector.NomSector;
                        lblSubSector.Text       = sector.NomSubSector;

                        lblObjeto.Text = infoContrato.ObjetoContrato;

                        lblObjetivoVisita.Text = "Verificar las condiciones generales del proyecto, " +
                                                 "verificar el cumplimiento de las obligaciones contractuales, " +
                                                 "legales y reglamentarias, y el avance del cumplimiento de los " +
                                                 "indicadores establecidos";

                        var contratoInterventor = contratoController.GetContratoByEmpresa(empresa.idEmpresa);
                        if (contratoInterventor == null)
                        {
                            throw new ApplicationException("El interventor no tiene Contrato asociado con la empresa.");
                        }

                        lblContratoInterventoria.Text = contratoInterventor.NumeroContrato;


                        //Pendiente

                        lblValorAprobado.Text = FieldValidate.moneyFormat((double)infoContrato.ValorInicialEnPesos.GetValueOrDefault(0), true);

                        if (numActa > 1)
                        {
                            ActaSeguimientoDatosController datosController = new ActaSeguimientoDatosController();

                            var datos = datosController.obtenerDatosActa((numActa - 1), CodigoProyecto);

                            txtCorreoGestorTecnico.Text   = datos.EmailGestorTecnicoSena;
                            txtNombreGestorTecnico.Text   = datos.NombreGestorTecnicoSena;
                            txtTelefonoGestorTecnico.Text = datos.TelefonoGestorTecnicoSena;

                            if (!String.IsNullOrEmpty(datos.EmailGestorOperativoSena))
                            {
                                txtCorreoGestorOperativo.Text   = datos.EmailGestorOperativoSena;
                                txtNombreGestorOperativo.Text   = datos.NombreGestorOperativoSena;
                                txtTelefonoGestorOperativo.Text = datos.TelefonoGestorOperativoSena;
                            }
                            else
                            {
                                DatosActaDTOController datosActaDTOController = new DatosActaDTOController();
                                var datosContac = datosActaDTOController.GetContactosProyecto(CodigoProyecto);
                                var Asesor      = datosContac.Where(x => (x.codRol == Constantes.CONST_RolAsesor || x.codRol == Constantes.CONST_RolAsesorLider)).FirstOrDefault();

                                if (Asesor != null)
                                {
                                    txtNombreGestorOperativo.Text   = Asesor.Nombres.ToUpper() + " " + Asesor.Apellidos.ToUpper();
                                    txtCorreoGestorOperativo.Text   = Asesor.Email;
                                    txtTelefonoGestorOperativo.Text = Asesor.Telefono;
                                }
                                else
                                {
                                    Alert("El proyecto no cuenta con un asesor asignado.");
                                    return;
                                }
                            }
                        }
                        else
                        {
                            DatosActaDTOController datosActaDTOController = new DatosActaDTOController();
                            var datosContac = datosActaDTOController.GetContactosProyecto(CodigoProyecto);
                            var Asesor      = datosContac.Where(x => (x.codRol == Constantes.CONST_RolAsesor || x.codRol == Constantes.CONST_RolAsesorLider)).FirstOrDefault();

                            if (Asesor != null)
                            {
                                txtNombreGestorOperativo.Text   = Asesor.Nombres.ToUpper() + " " + Asesor.Apellidos.ToUpper();
                                txtCorreoGestorOperativo.Text   = Asesor.Email;
                                txtTelefonoGestorOperativo.Text = Asesor.Telefono;
                            }
                            else
                            {
                                Alert("El proyecto no cuenta con un asesor asignado.");
                                return;
                            }
                        }
                    }
                }
            }
            catch (ApplicationException ex)
            {
                btnAdicionar.Visible = false;
                lblError.Visible     = true;
                lblError.Text        = "Advertencia: " + ex.Message;
            }
            catch (Exception ex)
            {
                btnAdicionar.Visible = false;
                lblError.Visible     = true;
                lblError.Text        = "Error inesperado: " + ex.Message;
            }
        }
Пример #9
0
        void CargarResumen()
        {
            ProyectoResumenEjecutivoV2 entResumen = Negocio.PlanDeNegocioV2.Formulacion.ResumenEjecutivo.Resumen.Get(Encabezado.CodigoProyecto);

            if (entResumen != null)
            {
                CKConcepto.Text                = entResumen.ConceptoNegocio;
                txtEmpleo.Text                 = entResumen.IndicadorEmpleos;
                txtIndirectos.Text             = entResumen.IndicadorEmpleosDirectos;
                txtMercadeo.Text               = entResumen.IndicadorMercadeo;
                txtSena.Text                   = entResumen.IndicadorContraPartido;
                txtVentas.Text                 = entResumen.IndicadorVentas;
                txtPeriodoImproductivo.Text    = entResumen.PeriodoImproductivo.ToString();
                txtRecursosAportados.Text      = entResumen.RecursosAportadosEmprendedor.ToString().Trim();
                txtEnlaceVideoEmprendedor.Text = entResumen.VideoEmprendedor;
            }
            else
            {
                CKConcepto.Text                = "N/A";
                txtEmpleo.Text                 = "N/A";
                txtIndirectos.Text             = "N/A";
                txtMercadeo.Text               = "N/A";
                txtSena.Text                   = "N/A";
                txtVentas.Text                 = "N/A";
                txtEnlaceVideoEmprendedor.Text = "";
            }

            try
            {
                if (txtEnlaceVideoEmprendedor.Text != "" && txtEnlaceVideoEmprendedor.Text.Trim().Contains("https://www.youtube.com/watch?v"))
                {
                    string video = txtEnlaceVideoEmprendedor.Text.Replace("watch?v=", "embed/");

                    string rutaVideo = "";

                    if (video.Contains("&"))
                    {
                        rutaVideo = video.Split('&')[0];
                    }
                    else
                    {
                        rutaVideo = video;
                    }

                    FrmVideoEmprendedor.InnerHtml = "<iframe width=\"700\" style=\"height: 400px\" target=\"_parent\"" +
                                                    "src = \"" + rutaVideo + "\"" +
                                                    "frameborder = \"0\" allow = \"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"" +
                                                    "allowfullscreen ></iframe> \"";
                }
                else
                {
                    FrmVideoEmprendedor.InnerHtml = "<h4>Por favor valide la url del video.</h4>";
                }
            }
            catch (Exception)
            {
                FrmVideoEmprendedor.InnerHtml = "<h4>Por favor valide la url del video, ya que no se encontró el video en Youtube.</h4>";
            }


            var empleosDetectados     = Negocio.PlanDeNegocioV2.Utilidad.IndicadorFormulacion.GetCargos(Encabezado.CodigoProyecto);
            var contrapartidas        = Negocio.PlanDeNegocioV2.Utilidad.IndicadorFormulacion.GetContrapartidas(Encabezado.CodigoProyecto);
            var ejecucionPresupuestal = Negocio.PlanDeNegocioV2.Utilidad.IndicadorFormulacion.GetPresupuesto(Encabezado.CodigoProyecto);
            var ventasTotales         = FieldValidate.moneyFormat(Negocio.PlanDeNegocioV2.Utilidad.IndicadorFormulacion.GetVentas(Encabezado.CodigoProyecto), true);
            var mercadeo = Negocio.PlanDeNegocioV2.Utilidad.IndicadorFormulacion.GetMercadeo(Encabezado.CodigoProyecto);
            var idh      = Negocio.PlanDeNegocioV2.Utilidad.IndicadorFormulacion.GetIDH(Encabezado.CodigoProyecto);

            txtEmpleosDetectados.Text     = empleosDetectados.ToString();
            txtContrapartidas.Text        = contrapartidas.ToString();
            txtEjecucionPresupuestal.Text = ejecucionPresupuestal.ToString();
            txtVentasProductos.Text       = ventasTotales.ToString();
            txtMercadeoTotal.Text         = mercadeo.ToString();
            txtIDH.Text = idh.ToString();

            //cargar sectores
            cargarSector(Encabezado.CodigoProyecto);
            cargarSubSector(codSector(Encabezado.CodigoProyecto));
            //cmbSubSector.Items.FindByValue(codSubSector(Encabezado.CodigoProyecto).ToString()).Selected = true;
            cmbSector.SelectedValue    = codSector(Encabezado.CodigoProyecto).ToString();
            cmbSubSector.SelectedValue = codSubSector(Encabezado.CodigoProyecto).ToString();

            if (!(proyectoController.estadoProyecto(Encabezado.CodigoProyecto) == Constantes.CONST_Registro_y_Asesoria))
            {
                cmbSector.Enabled    = false;
                cmbSubSector.Enabled = false;
            }
        }
Пример #10
0
        protected void CargarGridActividades()
        {
            var query = (from p in consultas.Db.ProyectoActividadPOs
                         where p.CodProyecto == Convert.ToInt32(CodigoProyecto)
                         orderby p.Item ascending
                         select new { p.Id_Actividad, p.Item, p.NomActividad });

            string consultaDetalle = "select id_actividad as CodActividad, mes,codtipofinanciacion,valor ";

            consultaDetalle += "from proyectoactividadpomes LEFT OUTER JOIN proyectoactividadPO ";
            consultaDetalle += "on id_actividad=codactividad where codproyecto={0}";
            consultaDetalle += " order by item, codactividad,mes,codtipofinanciacion";
            IEnumerable <ProyectoActividadPOMe> respuestaDetalle = consultas.Db.ExecuteQuery <ProyectoActividadPOMe>(consultaDetalle, Convert.ToInt32(CodigoProyecto));


            DataTable datos   = new DataTable();
            DataTable detalle = new DataTable();

            datos.Columns.Add("CodProyecto");
            datos.Columns.Add("Id_Actividad");
            datos.Columns.Add("Item");
            datos.Columns.Add("Actividad");
            for (int i = 1; i <= 12; i++)
            {
                detalle.Columns.Add("fondo" + i);
                detalle.Columns.Add("emprendedor" + i);
            }
            detalle.Columns.Add("fondoTotal");
            detalle.Columns.Add("emprendedorTotal");

            foreach (var item in query)
            {
                DataRow dr = datos.NewRow();

                dr["CodProyecto"]  = CodigoProyecto;
                dr["Id_Actividad"] = item.Id_Actividad;
                dr["Item"]         = item.Item;
                dr["Actividad"]    = item.NomActividad;
                datos.Rows.Add(dr);
            }
            int     actividadActual = 0;
            DataRow drDet           = detalle.NewRow();

            decimal totalFondo       = 0;
            decimal totalEmprendedor = 0;

            foreach (ProyectoActividadPOMe registro in respuestaDetalle)
            {
                if (actividadActual != registro.CodActividad)
                {
                    if (actividadActual != 0)
                    {
                        drDet["fondoTotal"]       = FieldValidate.moneyFormat(totalFondo);
                        drDet["emprendedorTotal"] = FieldValidate.moneyFormat(totalEmprendedor);
                        totalFondo       = 0;
                        totalEmprendedor = 0;
                        detalle.Rows.Add(drDet);
                    }
                    drDet           = detalle.NewRow();
                    actividadActual = registro.CodActividad;
                }

                if (registro.CodTipoFinanciacion == 1)
                {
                    drDet["fondo" + registro.Mes] = FieldValidate.moneyFormat(registro.Valor);
                    totalFondo += registro.Valor;
                }
                else if (registro.CodTipoFinanciacion == 2)
                {
                    drDet["emprendedor" + registro.Mes] = FieldValidate.moneyFormat(registro.Valor);
                    totalEmprendedor += registro.Valor;
                }
            }

            drDet["fondoTotal"]       = FieldValidate.moneyFormat(totalFondo);
            drDet["emprendedorTotal"] = FieldValidate.moneyFormat(totalEmprendedor);
            detalle.Rows.Add(drDet);

            gw_Anexos.DataSource = datos;
            gw_Anexos.DataBind();

            gw_AnexosActividad.DataSource = detalle;
            gw_AnexosActividad.DataBind();
        }