private void DepositTypeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { using (var db = new ClientsEntities()) { _accountModel.Percents = db.GetDepositTypeByName(_accountModel.DepositType).Percents.ToString(); } }
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; } } }
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; }
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(); } } }