コード例 #1
0
ファイル: Handler.cs プロジェクト: DanielFriol/debtcalculator
        public float CalculatePaschoalottoValue(Domain.Entities.Debt debt)
        {
            var   dateFin           = debt.FinalizedDate.Value;
            var   dateDiff          = dateFin.Date - debt.DueDate.Date;
            float paschoallotoValue = 0;

            if (debt.InterestType.Equals((int)InterestType.Simple))
            {
                var m    = debt.Value;
                var perc = debt.Interest / 100;
                var j    = m * perc;
                j *= dateDiff.Days;
                var pascPerc = debt.PaschoalottoPercentage / 100;
                paschoallotoValue = (m + j) * pascPerc;
            }
            else
            {
                var m    = debt.Value;
                var perc = debt.Interest / 100;
                var j    = 1 + perc;
                var x    = Math.Pow((double)j, (double)dateDiff.Days);
                paschoallotoValue = (float)(m * x);
            }
            return(paschoallotoValue);
        }
コード例 #2
0
ファイル: Handler.cs プロジェクト: DanielFriol/debtcalculator
        public async Task <Response> Handle(Request request, CancellationToken cancellationToken)
        {
            var debt = new Domain.Entities.Debt(request.ClientCPF, request.Value, request.DueDate, request.ContactPhone, request.MaxSplit, request.InterestType, request.Interest, request.PaschoalottoPercentage);

            _debtWriteRepository.Add(debt);

            await _uow.CommitAsync();

            return(new Response(debt));
        }
コード例 #3
0
 public static DebtSimple ToVMSimple(this Domain.Entities.Debt debt)
 {
     return(new DebtSimple
     {
         Id = debt.Id,
         ClientCPF = debt.ClientCPF,
         ContactPhone = debt.ContactPhone,
         DueDate = debt.DueDate,
         Value = debt.Value,
         MaxSplit = debt.MaxSplit,
         Interest = debt.Interest,
         InterestType = debt.InterestType,
         PaschoalottoPercentage = debt.PaschoalottoPercentage,
         Finalized = debt.Finalized
     });
 }