Beispiel #1
0
        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);
        }
Beispiel #2
0
 internal static bool CloseDepositCheck(bank_deposit closingDeposit)
 {
     if ((closingDeposit.deposite_type.Early_closure) | (closingDeposit.Expiry_date.CompareTo(DateTime.Now.Date) <= 0))
     {
         return(true);
     }
     return(false);
 }
 private void buttonViewDepositInfo_Click(object sender, EventArgs e)
 {
     if (dataGridViewDeposits.SelectedRows.Count > 0)
     {
         int                  selectedDepositAccountId = Convert.ToInt32(dataGridViewDeposits.SelectedRows[0].Cells[0].Value);
         bank_deposit         selectedDeposit          = userContext.FindDepositeByAccountId(selectedDepositAccountId);
         InfoAboutDepositForm infoForm = new InfoAboutDepositForm(selectedDeposit);
         infoForm.Show();
     }
     else
     {
         MessageBox.Show("Deposit is not selected!");
     }
 }
Beispiel #4
0
        internal static bool InterestAccrual(bank_deposit deposit) //возвращает истёк ли срок
        {
            bool   expired         = false;
            var    total           = deposit.bank_account.Sum;
            double amountOfaccrual = 0;
            double sumStart        = 0; //от чего начисляем проценты

            int mouths = 0;             //сколько месяцев прошло с момента открытия

            sumStart = deposit.Start_sum;
            if (deposit.Expiry_date.CompareTo(DateTime.Now.Date) <= 0)
            {
                mouths  = deposit.deposite_type.Term;
                expired = true;
            }
            else
            {
                DateTime tmp = deposit.Opening_date;
                while (tmp < DateTime.Now.Date)
                {
                    mouths++;
                    tmp = tmp.AddMonths(1);
                }
            }

            if (deposit.deposite_type.Capitalization)
            {
                int mouth;                                //месяц с момента открытия
                for (mouth = 1; mouth <= mouths; mouth++) //начислить проценты за каждый месяц
                {
                    amountOfaccrual += (sumStart / 100) * (deposit.deposite_type.Interest_rate / 12);
                    sumStart        += amountOfaccrual;
                }
            }
            else
            {
                amountOfaccrual = (sumStart / 100) * (deposit.deposite_type.Interest_rate / 12) * mouths;
            }
            total += amountOfaccrual;
            deposit.bank_account.Sum = total;
            return(expired);
        }
 private void buttonCloseDeposit_Click(object sender, EventArgs e)
 {
     if (dataGridViewDeposits.SelectedRows.Count > 0)
     {
         int          selectedDepositAccountId = Convert.ToInt32(dataGridViewDeposits.SelectedRows[0].Cells[0].Value);
         bank_deposit closingDeposit           = userContext.FindDepositeByAccountId(selectedDepositAccountId);
         if (AccountsAndDepositsRegulator.CloseDepositCheck(closingDeposit))
         {
             userContext.DeleteBankDeposit(closingDeposit);
             userContext.UpdateUser(user);
             viewUserDeposits();
             MessageBox.Show("Deposit is closed!");
         }
         else
         {
             MessageBox.Show("A deposit without the possibility of early closure can not be closed until the expiration date!");
         }
     }
     else
     {
         MessageBox.Show("Deposit is not selected!");
     }
 }
 public InfoAboutDepositForm(bank_deposit selectedDeposit)
 {
     this.selectedDeposit = selectedDeposit;
     InitializeComponent();
 }