public tblAhorrosCdtsLiquidacion gmtdCalcularLiquidacion(int tintCdt)
        {
            blAhorrosCdtCausacion causacion      = new blAhorrosCdtCausacion();
            tblAhorrosCdt         Cdt            = new blAhorrosCdt().gmtdConsultarCdt(tintCdt);
            tblConfiguracione     configuracion  = new blConfiguracion().gmtdConsultaConfiguracion();
            Int32   intMontoDiarioRetencion      = (Int32)configuracion.intMontoDiarioParaRetenciondeCdt;
            decimal decPorcentajeRetencionDiario = (Int32)configuracion.fltPorcentajeparaRetencionenCdt;

            //if (!new blAhorrosCdtCausacion().gmtdConsultarExistenciaCausacionCdt(tintCdt))
            //{
            //    if (!causacion.gmtdInsertarCausacionIndividual(tintCdt))
            //        return new tblAhorrosCdtsLiquidacion();
            //}

            decimal decInteresCdt = new blAhorrosCdtCausacion().gmtdSumarCausacion(tintCdt);

            decimal decValorInteresEstipulado = ((Cdt.decMontoCdt * (Cdt.decInteresesCdt / 100) / 12) * Cdt.intMesesCdt);

            decimal decValorDiarioIntereses = decInteresCdt / (propiedades.diferenciaEntreFechas(Cdt.dtmFechaIniCdt, DateTime.Now, propiedades.DiferenciasFecha.Dias));

            if (DateTime.Now >= Cdt.dtmFechaFinCdt && decInteresCdt < decValorInteresEstipulado)
            {
                decInteresCdt = decValorInteresEstipulado;
            }

            decimal decValorRetencionCdt = 0;

            if (decValorDiarioIntereses >= intMontoDiarioRetencion)
            {
                decValorRetencionCdt = decInteresCdt * (decPorcentajeRetencionDiario / 100);
            }

            decimal decTotalLiquidacionCdt = Cdt.decMontoCdt + decInteresCdt - decValorRetencionCdt;

            tblAhorrosCdtsLiquidacion liquidacion = new tblAhorrosCdtsLiquidacion();

            liquidacion.dtmFechaLiquidacionCdt     = DateTime.Now;
            liquidacion.decBrutoLiquidacion        = Cdt.decMontoCdt + decInteresCdt;
            liquidacion.decInteresesLiquidacion    = decInteresCdt;
            liquidacion.decNetolLiquidacionCdt     = decTotalLiquidacionCdt;
            liquidacion.decRetencionLiquidacionCdt = decValorRetencionCdt;
            liquidacion.intNumeroCdt  = tintCdt;
            liquidacion.strFormulario = "Liquidacion CDT";

            return(liquidacion);
        }
        /// <summary> Inserta una cuenta de ahorro a futuro. </summary>
        /// <param name="tobjIngreso"> Un objeto del tipo ingreso. </param>
        /// <returns> Un string que indica si se ejecuto o no la operación. </returns>
        public string gmtdInsertar(tblIngreso tobjIngreso)
        {
            if (tobjIngreso.ingresoAbonoaDeuda != null)
            {
                for (int a = 0; a < tobjIngreso.ingresoAbonoaDeuda.Count; a++)
                {
                    tobjIngreso.ingresoAbonoaDeuda[a].strCodigoPar = new blDeudas().gmtdConsultar(tobjIngreso.ingresoAbonoaDeuda[a].intCodDeu).strCodigoPar;
                }
            }

            if (tobjIngreso.ingresoAbonoaPrestamo != null)
            {
                tobjIngreso.ingresoAbonoaPrestamo.strCodigoPar = new blCreditos().gmtdConsultar(tobjIngreso.ingresoAbonoaPrestamo.intCodigoCre).strCodigoPar;
            }

            if (tobjIngreso.ingresoAbonoaVenta != null)
            {
                tobjIngreso.ingresoAbonoaVenta.strCodigoPar = new blVentas().gmtdConsultar(tobjIngreso.ingresoAbonoaVenta.intCodVenta).strNombreCliente;
            }

            if (tobjIngreso.ingresoAhorro != null)
            {
                tobjIngreso.ingresoAhorro.strCodigoPar = "0001";
            }

            if (tobjIngreso.ingresoAhorroaFuturo != null)
            {
                for (int a = 0; a < tobjIngreso.ingresoAhorroaFuturo.Count; a++)
                {
                    tobjIngreso.ingresoAhorroaFuturo[a].strCodigoPar = "0001";
                }
            }

            if (tobjIngreso.ingresoAhorroCdt != null)
            {
                tobjIngreso.ingresoAhorro.strCodigoPar = "0001";
            }

            if (tobjIngreso.ingresoAhorroEstudiantil != null)
            {
                tobjIngreso.ingresoAhorroEstudiantil.strCodigoPar = "0001";
            }

            if (tobjIngreso.ingresoAhorroFijo != null)
            {
                tobjIngreso.ingresoAhorroFijo.strCodigoPar = "0001";
            }

            if (tobjIngreso.ingresoAhorroNavideño != null)
            {
                for (int a = 0; a < tobjIngreso.ingresoAhorroNavideño.Count; a++)
                {
                    tobjIngreso.ingresoAhorroNavideño[a].strCodigoPar = "0001";
                }
            }

            if (tobjIngreso.ingresoCuota != null)
            {
                tobjIngreso.ingresoCuota.strCodigoPar = new blPrimarios().gmtdConsultar(tobjIngreso.ingresoCuota.strCodServiciop).strCodigoPar;

                tobjIngreso.ingresoCuota.fechasCuotas = new List <tblSociosPagosCuota>();

                char[] delimitador = { ',' };

                string[] vector = tobjIngreso.ingresoCuota.strMeses.Split(delimitador);

                for (int b = 0; b < vector.Length; b++)
                {
                    int intMes = this.calcularNumeroMes(vector[b].ToString());

                    tblSociosPagosCuota objSocioPagoCuota = new tblSociosPagosCuota();
                    objSocioPagoCuota.dtmFechaPag  = tobjIngreso.dtmFechaRec;
                    objSocioPagoCuota.intAño       = tobjIngreso.ingresoCuota.intAño;
                    objSocioPagoCuota.intCodigoIng = 0;
                    objSocioPagoCuota.intMes       = intMes;
                    objSocioPagoCuota.intSocio     = tobjIngreso.ingresoCuota.intCodigoSoc;

                    tobjIngreso.ingresoCuota.fechasCuotas.Add(objSocioPagoCuota);
                }
            }

            if (tobjIngreso.ingresoOtrosIngresos != null)
            {
                for (int a = 0; a < tobjIngreso.ingresoOtrosIngresos.Count; a++)
                {
                    tobjIngreso.ingresoOtrosIngresos[a].strCodigoPar = new blOtroIngreso().gmtdConsultar(tobjIngreso.ingresoOtrosIngresos[a].strCodOtrosIngresos).strCodigoPar;
                }
            }

            if (tobjIngreso.ingresoPrestamo != null)
            {
                for (int a = 0; a < tobjIngreso.ingresoPrestamo.Count; a++)
                {
                    tobjIngreso.ingresoPrestamo[a].strParCapital = new blCreditosLinea().gmtdConsultar(new blCreditos().gmtdConsultar(tobjIngreso.ingresoPrestamo[a].intCodigoPre).strCodLineadeCredito).strParCapital;
                    tobjIngreso.ingresoPrestamo[a].strParInteres = new blCreditosLinea().gmtdConsultar(new blCreditos().gmtdConsultar(tobjIngreso.ingresoPrestamo[a].intCodigoPre).strCodLineadeCredito).strParInteres;
                    tobjIngreso.ingresoPrestamo[a].strParMora    = new blCreditosLinea().gmtdConsultar(new blCreditos().gmtdConsultar(tobjIngreso.ingresoPrestamo[a].intCodigoPre).strCodLineadeCredito).strParMora;
                }
            }

            if (tobjIngreso.ingresoAbonoaPrestamo != null)
            {
                tobjIngreso.ingresoAbonoaPrestamo.bitDeducirAbonodelMonto = (bool)new blConfiguracion().gmtdConsultaConfiguracion().bitDeducirAbonosdelMontodelPrestamo;
            }

            XmlDocument xml = blRecibosIngresos.SerializeServicio(tobjIngreso);

            string strRetorno = new daoRecibosIngresos().gmtdInsertar(xml);

            if (strRetorno == "0")
            {
                return("- Ha ocurrido un error al registrar el ingreso.");
            }
            else
            {
                return(strRetorno + "+Ingreso ingresado.");
            }

            if (tobjIngreso.ingresoCuota != null)
            {
                int tintAño = new blConfiguracion().gmtdConsultaConfiguracion().intAnoEvaluado;
                int tintMes = new blConfiguracion().gmtdConsultaConfiguracion().intMesEvaluado;

                this.gmtdIngresarNumeroRifa(tobjIngreso.ingresoCuota.intCodigoSoc, tintAño, tintMes);
            }

            return(strRetorno);
        }