internal static bank_account OpenDeposite(deposite_type depositeType, bank_account accountFrom, double sum) { if (accountFrom.bank_deposit == null) { if (accountFrom.Sum >= sum) { accountFrom.Sum -= sum; bank_deposit newDeposit = new bank_deposit(); bank_account newAccount = GenerateNewAccount(); newAccount.Sum = sum; newAccount.bank_deposit = newDeposit; newDeposit.Account_id = newAccount.id; newDeposit.bank_account = newAccount; newDeposit.deposite_type = depositeType; newDeposit.Opening_date = DateTime.Now.Date; newDeposit.Expiry_date = newDeposit.Opening_date.AddMonths(depositeType.Term); newDeposit.Start_sum = sum; return(newAccount); } else { MessageBox.Show("This account is deposit!!!Transfer is not possible while the deposit is not closed!"); } } else { MessageBox.Show("There is not enough money in the write-off account!"); } return(null); }
private void buttonOpenDeposit_Click(object sender, EventArgs e) { BindingList <deposite_type> types = userContext.GetDepositTypesToBindingList(); TypesOfDepositsForm typesFotm = new TypesOfDepositsForm(types, user.bank_account.Select(a => a.Number).ToArray()); if (typesFotm.ShowDialog() == DialogResult.OK) { double sum; if (typesFotm.textBoxSum != null && double.TryParse(typesFotm.textBoxSum.Text, out sum)) { sum = Math.Round(sum, 1); string numberAccountFrom = typesFotm.comboBoxFrom.Text; if (numberAccountFrom != "") { bank_account accountFrom = user.bank_account.Where(a => a.Number == numberAccountFrom).First(); int depositTypeId = Convert.ToInt32(typesFotm.dataGridViewTypesOfDeposits.SelectedRows[0].Cells[0].Value); deposite_type depositType = userContext.FindDepositeTypeById(depositTypeId); bank_account depositAccount = AccountsAndDepositsRegulator.OpenDeposite(depositType, accountFrom, sum); if (depositAccount != null) { depositAccount.user = user; user.bank_account.Add(depositAccount); userContext.UpdateUser(user); viewUserDeposits(); MessageBox.Show("Deposit is opened!"); } } else { MessageBox.Show("The account is not selected!"); } } else { MessageBox.Show("The entered sum is incorrect!"); } } }