示例#1
0
 private void DepositTypeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     using (var db = new ClientsEntities())
     {
         _accountModel.Percents = db.GetDepositTypeByName(_accountModel.DepositType).Percents.ToString();
     }
 }
示例#2
0
 public AccountInfoWindow(AccountViewModel account)
 {
     _account         = account;
     this.DataContext = account;
     InitializeComponent();
     using (var db = new ClientsEntities())
     {
         var depositTypeID = db.GetDepositTypeByName(_account.DepositType).DepositTypeID;
         if ((depositTypeID == 3 || depositTypeID == 4) && _account.IsPercentage == "Нет")
         {
             PaymentsButton.IsEnabled = true;
         }
     }
 }
示例#3
0
        public void Load(AccountViewModel account)
        {
            var    list            = new List <AmountByDay>();
            var    daysCount       = (account.EndDate - account.StartDate).Days + 1;
            var    mainAmount      = Convert.ToDouble(account.MoneyAmount);
            var    percents        = mainAmount * Convert.ToDouble(account.Percents) / 100;
            var    percentsByDay   = Math.Round(percents / daysCount, 2);
            var    mainAmountByDay = Math.Round(mainAmount / daysCount, 2);
            double sum             = 0;

            using (var db = new ClientsEntities())
            {
                if (db.GetDepositTypeByName(account.DepositType).DepositTypeID == 3)
                {
                    foreach (DateTime day in EachThirtyDays(account.StartDate, account.EndDate))
                    {
                        sum += (percentsByDay + mainAmountByDay) * 30;
                        list.Add(new AmountByDay()
                        {
                            Amount = ((percentsByDay + mainAmountByDay) * 30).ToString(), Date = day
                        });
                    }
                    if (sum < mainAmount + percents)
                    {
                        list.Add(new AmountByDay()
                        {
                            Amount = Math.Round(mainAmount + percents - sum, 2).ToString(), Date = account.EndDate
                        });
                    }
                }
                else
                {
                    foreach (DateTime day in EachThirtyDays(account.StartDate, account.EndDate.AddDays(-1)))
                    {
                        sum += percentsByDay * 30;
                        list.Add(new AmountByDay()
                        {
                            Amount = (percentsByDay * 30).ToString(), Date = day
                        });
                    }
                    list.Add(new AmountByDay()
                    {
                        Date = account.EndDate, Amount = Math.Round(mainAmount + percents - sum, 2).ToString()
                    });
                }
            }
            CreditPaymentsDataGrid.ItemsSource = list;
        }
示例#4
0
 private void CreateButton_Click(object sender, RoutedEventArgs e)
 {
     if (IsDataCorrect())
     {
         using (var db = new ClientsEntities())
         {
             var mainAccount    = new Account();
             var percentAccount = new Account();
             mainAccount.ClientID         = _accountModel.ClientId;
             percentAccount.ClientID      = _accountModel.ClientId;
             mainAccount.DepositTypeID    = db.GetDepositTypeByName(_accountModel.DepositType).DepositTypeID;
             percentAccount.DepositTypeID = mainAccount.DepositTypeID;
             mainAccount.AccountNumber    = _accountModel.AccountNumber;
             var part1 = _accountModel.AccountNumber.Substring(0, 9);
             var part2 = GetCorrectAccountCountPart(Convert.ToInt32(_accountModel.AccountNumber.Substring(9, 3)) + 1);
             var part3 = new Random().Next(0, 9);
             percentAccount.AccountNumber = part1 + part2 + part3;
             mainAccount.MoneyAmount      = Convert.ToDouble(_accountModel.MoneyAmount);
             if (mainAccount.DepositTypeID == 3 || mainAccount.DepositTypeID == 4)
             {
                 percentAccount.MoneyAmount = Math.Round(mainAccount.MoneyAmount * Convert.ToDouble(_accountModel.Percents) / 100, 2);
             }
             else
             {
                 percentAccount.MoneyAmount = 0;
             }
             mainAccount.StartDate     = _accountModel.StartDate;
             percentAccount.StartDate  = _accountModel.StartDate;
             mainAccount.EndDate       = _accountModel.EndDate;
             percentAccount.EndDate    = _accountModel.EndDate;
             mainAccount.DaysCount     = 0;
             percentAccount.DaysCount  = 0;
             mainAccount.CurrencyID    = db.GetCurrencyByName(_accountModel.Currency).CurrencyID;
             percentAccount.CurrencyID = mainAccount.CurrencyID;
             mainAccount.IsClosed      = false;
             percentAccount.IsClosed   = false;
             db.Account.Add(percentAccount);
             db.SaveChanges();
             mainAccount.PercentAccountID = db.GetAccountByAccountNumber(percentAccount.AccountNumber).AccountID;
             db.Account.Add(mainAccount);
             var bankResources = db.BankResourse.ToList();
             if (mainAccount.DepositTypeID == 3 || mainAccount.DepositTypeID == 4)
             {
                 bankResources[0].PhysicalMoney -= ConvertCurrencyToByn(mainAccount.CurrencyID) * mainAccount.MoneyAmount;
             }
             else
             {
                 bankResources[0].PhysicalMoney += ConvertCurrencyToByn(mainAccount.CurrencyID) * mainAccount.MoneyAmount;
             }
             db.SaveChanges();
             if (mainAccount.DepositTypeID == 3 || mainAccount.DepositTypeID == 4)
             {
                 var additionalAcc = new Account();
                 part1 = _accountModel.AccountNumber.Substring(0, 9);
                 part2 = GetCorrectAccountCountPart(Convert.ToInt32(_accountModel.AccountNumber.Substring(9, 3)) + 1);
                 part3 = new Random().Next(0, 9);
                 additionalAcc.AccountNumber = part1 + part2 + part3;
                 additionalAcc.ClientID      = mainAccount.ClientID;
                 additionalAcc.CurrencyID    = mainAccount.CurrencyID;
                 additionalAcc.DaysCount     = 0;
                 additionalAcc.DepositTypeID = 1;
                 additionalAcc.IsClosed      = true;
                 additionalAcc.StartDate     = mainAccount.StartDate;
                 additionalAcc.EndDate       = mainAccount.EndDate;
                 additionalAcc.MoneyAmount   = mainAccount.MoneyAmount;
                 db.Account.Add(additionalAcc);
                 db.SaveChanges();
                 var card = new Card();
                 card.AccountID = db.GetAccountByAccountNumber(additionalAcc.AccountNumber).AccountID;
                 card.Number    = mainAccount.AccountNumber + new Random().Next(100, 999);
                 card.PIN       = new Random().Next(1000, 9999);
                 db.Card.Add(card);
             }
             db.SaveChanges();
             this.Close();
         }
     }
 }