示例#1
0
 public void ProcessarMultaJuros(ContaPagarEntity entity)
 {
     entity.DiasAtraso = entity.DataPagamento.Day - entity.DataVencimento.Day;
     if (entity.DiasAtraso <= 3)
     {
         entity.PercentualMulta   = 2;
         entity.PercentualJuroDia = new decimal(0.1);
         CalcularMulta(entity);
         CalcularJuros(entity);
     }
     else if (entity.DiasAtraso > 3 && entity.DiasAtraso <= 5)
     {
         entity.PercentualMulta   = 3;
         entity.PercentualJuroDia = new decimal(0.2);
         CalcularMulta(entity);
         CalcularJuros(entity);
     }
     else if (entity.DiasAtraso > 5)
     {
         entity.PercentualMulta   = 5;
         entity.PercentualJuroDia = new decimal(0.3);
         CalcularMulta(entity);
         CalcularJuros(entity);
     }
 }
        public ContaPagarBaseTest()
        {
            Id                = Guid.NewGuid();
            Nome              = "Pablo Henrique Groeler";
            ValorOriginal     = new decimal(100.0);
            ValorCorrigido    = new decimal(0.0);
            DataVencimento    = DateTime.Now;
            DataPagamento     = DateTime.Now.AddDays(4);
            DiasAtraso        = 0;
            PercentualMulta   = 0;
            PercentualJuroDia = 0;

            entity = new ContaPagarEntity {
                Id                = Id,
                Nome              = Nome,
                ValorOriginal     = ValorOriginal,
                ValorCorrigido    = ValorCorrigido,
                DataVencimento    = DataVencimento,
                DataPagamento     = DataPagamento,
                DiasAtraso        = DiasAtraso,
                PercentualMulta   = PercentualMulta,
                PercentualJuroDia = PercentualJuroDia
            };

            contaPagarDto = new ContaPagarDto {
                Id                = Id,
                Nome              = Nome,
                ValorOriginal     = ValorOriginal,
                ValorCorrigido    = ValorCorrigido,
                DataVencimento    = DataVencimento,
                DataPagamento     = DataPagamento,
                DiasAtraso        = DiasAtraso,
                PercentualMulta   = PercentualMulta,
                PercentualJuroDia = PercentualJuroDia
            };

            contaPagarInserirDto = new ContaPagarInserirDto {
                Nome           = Nome,
                ValorOriginal  = ValorOriginal,
                DataVencimento = DataVencimento,
                DataPagamento  = DataPagamento,
            };

            contaPagarGetDto = new ContaPagarGetDto {
                Nome           = Nome,
                ValorOriginal  = ValorOriginal,
                ValorCorrigido = ValorCorrigido,
                DiasAtraso     = DiasAtraso,
                DataPagamento  = DataPagamento,
            };
        }
示例#3
0
 private void CalcularJuros(ContaPagarEntity entity)
 {
     entity.ValorCorrigido = entity.ValorOriginal + (entity.ValorOriginal * entity.PercentualJuroDia * entity.DiasAtraso);
 }
示例#4
0
 private void CalcularMulta(ContaPagarEntity entity)
 {
     entity.ValorCorrigido = entity.ValorOriginal * (entity.PercentualMulta / 100);
 }