Exemplo n.º 1
0
        public int CalcularMora(CalcularMoraViewModels datos)
        {
            int estado      = -1;
            var mora        = new MoraViewModels();
            var ultimaFecha = datos.Fecha;            //fecha de la ultima cuota pagada.
            var fechaMora   = ultimaFecha.AddDays(9); //10 dias de gracia, a partir del 11 se cobra mora.
            var fechaActual = DateTime.Today;

            //DateTime fecha = new DateTime(1901, 01, 01);

            if (ultimaFecha != new DateTime(0001, 1, 1))
            {
                while (fechaMora <= fechaActual)
                {
                    //cuenta los dias que tiene el mes
                    int diasDelMes = DateTime.DaysInMonth(fechaMora.Year, fechaMora.Month);
                    fechaMora = fechaMora.AddMonths(1);//agrega un mes.

                    //rompe el ciclo, para evitar crear una nueva mora en el mes que aun no termina.
                    if (fechaMora > fechaActual)
                    {
                        break;
                    }

                    mora.Fecha = fechaMora.AddDays(-9);                              //resta los 11 dias agregados en la linea 4 del metodo
                    mora.Monto = ((datos.Cuota * datos.TasaMora) / 30) * diasDelMes; //calculo del monto de la mora
                    estado     = Save(mora);                                         //guarda la mora en la base de datos.
                }
            }

            return(estado);
        }
Exemplo n.º 2
0
 private int Save(MoraViewModels moras)
 {
     return(dbSave.Save(moras));
 }