Пример #1
0
 public AccountViewModel(Account account)
 {
     using (var db = new ClientsEntities())
     {
         var client = db.GetClientById(account.ClientID);
         _surname    = client?.Surname;
         _name       = client?.Name;
         _patronimic = client?.Patronimic;
         var depositType = db.GetDepositTypeById(account.DepositTypeID);
         _depositType   = depositType.Name;
         _accountNumber = account.AccountNumber;
         _moneyAmount   = account.MoneyAmount.ToString();
         _startDate     = account.StartDate;
         _endDate       = account.EndDate;
         _daysCount     = account.DaysCount.ToString();
         _percents      = depositType.Percents.ToString();
         _currency      = db.GetCurrencyById(account.CurrencyID);
         _isPercentage  = (account.PercentAccountID == null) ? "Да" : "Нет";
         if (account.PercentAccountID != null)
         {
             var percentAcc = db.GetAccountById(account.PercentAccountID.Value);
             _percentMoney = percentAcc.MoneyAmount.ToString();
         }
         _isClosed = account.IsClosed ? "Закрыт" : "Открыт";
     }
 }
Пример #2
0
 private void CalculatePercents(ClientsEntities db, List <Account> list)
 {
     foreach (var acc in list)
     {
         var percents = (db.GetDepositTypeById(acc.DepositTypeID).Percents *acc.MoneyAmount) / (100 * 365);
         db.GetAccountById(acc.PercentAccountID.Value).MoneyAmount += Math.Round(percents, 4);
     }
     db.SaveChanges();
 }
Пример #3
0
        private void EndOfMonthPayments(ClientsEntities db, List <Account> list)
        {
            foreach (var acc in list)
            {
                if (acc.DaysCount % 30 == 0)
                {
                    var percentAccount = db.GetAccountById(acc.PercentAccountID.Value);
                    if (acc.DepositTypeID == 1)
                    {
                        acc.MoneyAmount += percentAccount.MoneyAmount;
                        var bankResources = db.BankResourse.ToList();
                        bankResources[0].RealMoney -= ConvertCurrencyToByn(acc.CurrencyID) * percentAccount.MoneyAmount;
                        percentAccount.MoneyAmount  = 0;
                    }

                    if (acc.DepositTypeID == 3)
                    {
                        var daysCount       = (acc.EndDate - acc.StartDate).Days + 1;
                        var mainAmount      = Convert.ToDouble(acc.MoneyAmount);
                        var percents        = mainAmount * db.GetDepositTypeById(acc.DepositTypeID).Percents / 100;
                        var percentsByDay   = Math.Round(percents / daysCount, 2);
                        var mainAmountByDay = Math.Round(mainAmount / daysCount, 2);
                        acc.MoneyAmount            -= mainAmountByDay * 30;
                        percentAccount.MoneyAmount -= percentsByDay * 30;
                        var bankResources = db.BankResourse.ToList();
                        bankResources[0].RealMoney += ConvertCurrencyToByn(acc.CurrencyID) * (percentsByDay + mainAmountByDay) * 30;
                    }

                    if (acc.DepositTypeID == 4)
                    {
                        var daysCount     = (acc.EndDate - acc.StartDate).Days + 1;
                        var mainAmount    = Convert.ToDouble(acc.MoneyAmount);
                        var percents      = mainAmount * db.GetDepositTypeById(acc.DepositTypeID).Percents / 100;
                        var percentsByDay = Math.Round(percents / daysCount, 2);
                        percentAccount.MoneyAmount -= percentsByDay * 30;
                        var bankResources = db.BankResourse.ToList();
                        bankResources[0].RealMoney += ConvertCurrencyToByn(acc.CurrencyID) * percentsByDay * 30;
                    }
                }
            }
            db.SaveChanges();
        }