public bool insertPagoInfo(ActaSeguimInfoPagosModel infoPago)
        {
            bool insertado = false;

            using (FonadeDBLightDataContext db = new FonadeDBLightDataContext(_cadena))
            {
                ActaSeguimInfoPagos gesInfoPago = new ActaSeguimInfoPagos
                {
                    Actividad             = infoPago.Actividad,
                    codConvocatoria       = infoPago.codConvocatoria,
                    codigoPago            = infoPago.codigoPago,
                    codProyecto           = infoPago.codProyecto,
                    Concepto              = infoPago.Concepto,
                    fechaModificado       = DateTime.Now,
                    idPagoActividad       = infoPago.idPagoActividad,
                    numActa               = infoPago.numActa,
                    Observacion           = infoPago.Observacion,
                    Valor                 = infoPago.Valor,
                    verificoActivosEstado = infoPago.verificoActivosEstado,
                    verificoDocumentos    = infoPago.verificoDocumentos,
                    visita                = infoPago.visita
                };

                db.ActaSeguimInfoPagos.InsertOnSubmit(gesInfoPago);

                db.SubmitChanges();

                insertado = true;
            }

            return(insertado);
        }
        private const int constEstadoPago = 4; // Aprobado

        public List <ActaSeguimInfoPagosModel> getInfoPagos(int _codProyecto, int _codConvocatoria, ref decimal pagosAnteriores)
        {
            List <ActaSeguimInfoPagosModel> listInfoPago = new List <ActaSeguimInfoPagosModel>();

            pagosAnteriores = 0;
            using (FonadeDBLightDataContext db = new FonadeDBLightDataContext(_cadena))
            {
                listInfoPago = (from l in db.ActaSeguimInfoPagos
                                where l.codProyecto == _codProyecto &&
                                l.codConvocatoria == _codConvocatoria
                                select new ActaSeguimInfoPagosModel
                {
                    Actividad = l.Actividad,
                    codConvocatoria = l.codConvocatoria,
                    codigoPago = l.codigoPago,
                    codProyecto = l.codProyecto,
                    Concepto = l.Concepto,
                    id = l.idActaInfoPago,
                    idPagoActividad = l.idPagoActividad,
                    numActa = l.numActa,
                    Observacion = l.Observacion,
                    Valor = l.Valor,
                    verificoActivosEstado = l.verificoActivosEstado,
                    verificoDocumentos = l.verificoDocumentos,
                    visita = l.visita
                }).ToList();
            }

            pagosAnteriores = listInfoPago.Sum(x => x.Valor);

            List <ActaSeguimInfoPagosModel> lstLeftJoin = new List <ActaSeguimInfoPagosModel>();

            using (FonadeDBLightDataContext db = new FonadeDBLightDataContext(_cadena))
            {
                var query = db.GetPagoActSinRegistrarActa(_codProyecto).ToList();

                foreach (var i in query)
                {
                    ActaSeguimInfoPagosModel acta = new ActaSeguimInfoPagosModel();
                    acta.idPagoActividad = i.Id_PagoActividad;
                    acta.Actividad       = i.NomPagoActividad;
                    acta.codigoPago      = i.codigopago;
                    acta.Valor           = i.CantidadDinero.HasValue ? i.CantidadDinero.Value : 0;
                    acta.Concepto        = i.NomPagoConcepto;

                    lstLeftJoin.Add(acta);
                }
            }
            return(lstLeftJoin);
        }
        private bool AgregarInfoPago(int _codProyecto, int _codConvocatoria)
        {
            bool insertado = false;

            try
            {
                foreach (GridViewRow row in gvInfoPago.Rows)
                {
                    bool validadoText   = true;
                    bool validadoDocs   = true;
                    bool validadoEstAct = true;

                    string       mensaje           = "";
                    DropDownList ddlDocumentosOrig = (DropDownList)row.FindControl("ddlDocumentosOrig");
                    DropDownList ddlActivosEstado  = (DropDownList)row.FindControl("ddlActivosEstado");

                    TextBox txtObservacion    = (TextBox)row.FindControl("txtObservInfoPago");
                    Label   lblValDocumentos  = (Label)row.FindControl("lblValDocumentos");
                    Label   lblValEstActivo   = (Label)row.FindControl("lblValEstActivo");
                    Label   lblValObservacion = (Label)row.FindControl("lblValObservacion");

                    validadoText   = validarCampos(txtObservacion, ref mensaje);
                    validadoDocs   = validarCampos(ddlDocumentosOrig, ref mensaje);
                    validadoEstAct = validarCampos(ddlActivosEstado, ref mensaje);

                    if (!validadoDocs || !validadoText || !validadoEstAct)
                    {
                        lblValDocumentos.Text    = mensaje;
                        lblValDocumentos.Visible = !validadoDocs;

                        lblValEstActivo.Text    = mensaje;
                        lblValEstActivo.Visible = !validadoEstAct;

                        lblValObservacion.Text    = mensaje;
                        lblValObservacion.Visible = !validadoText;
                    }
                    else
                    {
                        ActaSeguimInfoPagosModel pagosModel = new ActaSeguimInfoPagosModel();
                        pagosModel.idPagoActividad       = Convert.ToInt32(gvInfoPago.DataKeys[row.RowIndex].Value);
                        pagosModel.codigoPago            = row.Cells[0].Text;                                     //codigoPago
                        pagosModel.Actividad             = row.Cells[1].Text;                                     //Actividad
                        pagosModel.Valor                 = Convert.ToDecimal(row.Cells[2].Text.Replace("$", "")); //Valor
                        pagosModel.Concepto              = row.Cells[3].Text;                                     //Concepto
                        pagosModel.codConvocatoria       = CodigoConvocatoria;
                        pagosModel.codProyecto           = CodigoProyecto;
                        pagosModel.numActa               = NumeroActa;
                        pagosModel.Observacion           = txtObservacion.Text;
                        pagosModel.verificoActivosEstado = ddlActivosEstado.SelectedItem.Text;
                        pagosModel.verificoDocumentos    = ddlDocumentosOrig.SelectedItem.Text;
                        pagosModel.visita                = NumeroActa - 1;

                        insertado = infoPagosController.insertPagoInfo(pagosModel);
                    }
                }
            }
            catch (Exception)
            {
                insertado = false;
            }
            return(insertado);
        }