Beispiel #1
0
        /// <summary> Calcula las cuotas a cancelar en un recibo. </summary>
        /// <param name="tintCredito"> Codigo del crésdito al que se le van a pagar las cuotas. </param>
        /// <param name="tintCuotas"> Numero de cuotas a cancelar. </param>
        /// <returns> Listado de cuotas procesadas. </returns>
        public List <recibosIngresosPrestamos> gmtdCalcularValordeCuotas(int tintCredito, int tintCuotas)
        {
            List <tblCreditosCuota> lstCuotas = new daoCreditos().gmtdConsultarCuotasPendientesdeunCredito(tintCredito);

            decimal decCausadoTotal = this.gmtdConsultaInteresCausadoporCredito(tintCredito);
            decimal decMora         = new daoUtilidadesConfiguracion().gmtdConsultaConfiguracion().decMoraCreditos;

            List <recibosIngresosPrestamos> lstCuotasOrganizadas = new List <recibosIngresosPrestamos>();

            for (int a = 0; a < tintCuotas; a++)
            {
                tblCreditosCuota cuota = new tblCreditosCuota();
                cuota = lstCuotas[a];

                decimal decCausado     = 0;
                int     intMeses       = this.pmtdCalcularDiferenciaMeses(cuota.dtmFechaCuo);
                decimal decInteresMora = cuota.decCapital * (decMora / 100) * intMeses;

                if (decCausadoTotal > cuota.decIntereses)
                {
                    decCausado         = cuota.decIntereses;
                    cuota.decIntereses = 0;
                    decCausadoTotal   -= decCausado;
                }
                else
                {
                    decCausado          = decCausadoTotal;
                    cuota.decIntereses -= decCausadoTotal;
                    decCausadoTotal     = 0;
                }

                recibosIngresosPrestamos cuotaRecibo = new recibosIngresosPrestamos();
                cuotaRecibo.decCapital        = cuota.decCapital;
                cuotaRecibo.decCausado        = decCausado;
                cuotaRecibo.decIntereses      = cuota.decIntereses;
                cuotaRecibo.decInteresesMora  = decInteresMora;
                cuotaRecibo.decValorCuota     = cuota.decCapital + cuota.decIntereses + decInteresMora + decCausado;
                cuotaRecibo.intCuota          = cuota.intCuota;
                cuotaRecibo.intMesesAtrasados = intMeses;
                cuotaRecibo.dtmFechaCuo       = cuota.dtmFechaCuo;

                lstCuotasOrganizadas.Add(cuotaRecibo);
            }

            return(lstCuotasOrganizadas);
        }
Beispiel #2
0
        /// <summary> Inserta un credito. </summary>
        /// <param name="tobjMunicipio"> Un objeto del tipo credito. </param>
        /// <returns> Un string que indica si se ejecuto o no la operación. </returns>
        public string gmtdInsertar(tblCredito tobjCredito)
        {
            if (tobjCredito.intCodigoCre == 0)
            {
                return("- Debe de ingresar el código del crédito.");
            }

            if (tobjCredito.strNombrePre == "" || tobjCredito.strNombrePre == null)
            {
                return("- Debe de ingresar el primer apellido.");
            }

            if (tobjCredito.strApellido1Pre == "" || tobjCredito.strApellido1Pre == null)
            {
                return("- Debe de ingresar el primer apellido.");
            }

            if (tobjCredito.intPagarePre == 0)
            {
                return("- Debe de ingresar el número del pagaré.");
            }

            if (tobjCredito.decIntereses == 0)
            {
                return("- Debe de ingresar el porcentaje de interes del crédito.");
            }

            if (tobjCredito.decMonto == 0)
            {
                return("- Debe de ingresar el monto del credito.");
            }

            if (tobjCredito.intCuotas == 0)
            {
                return("- Debe de ingresar el número de cuotas del crédito.");
            }

            tobjCredito.decDebe     = tobjCredito.decMonto;
            tobjCredito.decAbono    = 0;
            tobjCredito.dtmFechaPre = new daoUtilidadesConfiguracion().gmtdCapturarFechadelServidor();

            switch (tobjCredito.intTipoGarantia)
            {
            case 1:
                if (tobjCredito.strApellidoCde == "" || tobjCredito.strApellidoCde == null)
                {
                    return("- Debe de ingresar el apellido del codeudor");
                }

                if (tobjCredito.strNombreCde == "" || tobjCredito.strNombreCde == null)
                {
                    return("- Debe de ingresar el nombre del codeudor");
                }

                if (tobjCredito.strCedulaCde == "" || tobjCredito.strCedulaCde == null)
                {
                    return("- Debe de ingresar la cédula del codeudor");
                }
                break;

            case 2:
                if (tobjCredito.decAhorrado == 0)
                {
                    return("- Debe de ingresar valor del ahorro para respaldar el credito");
                }
                break;

            case 3:
                if (tobjCredito.strDescripcionGarantiadelCredito == null || tobjCredito.strDescripcionGarantiadelCredito == "")
                {
                    return("- Debe de ingresar la descripción de la garantia del credito");
                }
                break;
            }

            if (tobjCredito.strCedulaPre == "" || tobjCredito.strCedulaPre == null)
            {
                return("- Debe de ingresar la cédula del deudor.");
            }

            if (tobjCredito.strCodigoPar == "" || tobjCredito.strCodigoPar == null)
            {
                return("- Debe de seleccionar el par.");
            }

            if (tobjCredito.strCodLineadeCredito == "" || tobjCredito.strCodLineadeCredito == null)
            {
                return("- Debe de seleccionar la linea de crédito.");
            }

            if (tobjCredito.strDireccion == "" || tobjCredito.strDireccion == null)
            {
                return("- Debe de ingresar la dirección.");
            }

            if (tobjCredito.strFormadeCobroPre == "" || tobjCredito.strFormadeCobroPre == null)
            {
                return("- Debe de seleccionar la forma de cobro del crédito. ");
            }

            if (tobjCredito.strFrecuenciaPre == "" || tobjCredito.strFrecuenciaPre == null)
            {
                return("- Debe de seleccionar la frecuencia del rédito. ");
            }

            if (tobjCredito.strTelefono == "" || tobjCredito.strTelefono == null)
            {
                return("- Debe de escribir el teléfono del deudor. ");
            }

            tblCredito cre = new daoCreditos().gmtdConsultar(tobjCredito.intCodigoCre);

            if (cre.strNombrePre == null)
            {
                tobjCredito.bitAnulado  = false;
                tobjCredito.dtmFechaAnu = Convert.ToDateTime("1/1/1900");
                tobjCredito.log         = metodos.gmtdLog("Ingresa el crédito " + tobjCredito.intCodigoCre.ToString(), tobjCredito.strFormulario);

                double dblValorCuota = this.gmtCalcularValordeCuota(tobjCredito);

                List <tblCreditosCuota> lstCuotas = new List <tblCreditosCuota>();
                pGenerarFechasdeCuotasAutomaticamente(tobjCredito);
                try
                {
                    decimal decMonto = tobjCredito.decMonto;
                    for (int a = 1; a <= tobjCredito.intCuotas; a++)
                    {
                        double dblIntereses = Convert.ToDouble(tobjCredito.decIntereses) / 100;
                        dblIntereses = Convert.ToDouble(decMonto) * dblIntereses;
                        double           dblCapital = dblValorCuota - dblIntereses;
                        tblCreditosCuota cuota      = new tblCreditosCuota();
                        cuota.bitPagada       = false;
                        cuota.decCapital      = (decimal)dblCapital;
                        cuota.decIntereses    = (decimal)dblIntereses;
                        cuota.decSaldoCapital = decMonto;
                        cuota.decValorCuo     = (decimal)dblValorCuota;
                        cuota.dtmFechaCuo     = lstFechas[a - 1];
                        cuota.intCodigoCre    = tobjCredito.intCodigoCre;
                        cuota.intCuota        = a;
                        cuota.strDatosdePago  = "No Pagada";
                        cuota.dtmFechaPago    = Convert.ToDateTime("1/1/1900");
                        tobjCredito.tblCreditosCuotas.Add(cuota);
                        decMonto = decMonto - Convert.ToInt32(dblCapital);
                    }
                }
                catch (Exception ex)
                {
                    new dao.dao().gmtdInsertarError(ex);
                    return("- Hubo un error calculando las cuotas y el sistema no puede continuar.");
                }

                return(new daoCreditos().gmtdInsertar(tobjCredito));
            }
            else
            {
                return("- Este registro ya aparece ingresado.");
            }
        }