static void Main(string[] args)
        {
            var bank           = new Bank();
            var customer       = new Customer();
            var creditContract = new CreditContract()
            {
                Amount           = 120000,
                DurationInMonths = 24
            };

            var credit = bank.GiveCredit(customer, creditContract);

            if (credit == null)
            {
                Console.WriteLine("Qez merjel en.");
            }
            else
            {
            }

            var depositContract = new DepositContract()
            {
                Amount           = 100000,
                DurationInMonths = 5
            };

            var deposit = bank.TakeDeposit(customer, depositContract);
        }
Exemple #2
0
        public Credit GiveCredit(Customer customer, CreditContract creditContract)
        {
            if (customer.Approved == false)
            {
                return(null);
            }
            if (creditContract.Amount > this.MaxAmount || creditContract.Amount < this.MinAmount)
            {
                return(null);
            }
            Credit credit = new Credit(this, customer)
            {
                StartDate        = DateTimeOffset.Now,
                DurationInMonths = creditContract.DurationInMonths,
                TotalAmount      = creditContract.Amount,
                PeriodInMonths   = 1,
            };

            customer.Credits.Add(credit);
            this.Credits.Add(credit);
            this.Customers.Add(customer);

            return(credit);
        }