using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Program { class Program { private static Bank Bank { get; set; } = new Bank(); public static void Main() { Bank.AddCredit("Nick Peterson", 100000d, 0.15, new DateTime(23, 03, 20), 30); Bank.AddCredit("Ben Alinson", 10000d, 0.165, new DateTime(22, 03, 20), 10); Bank.AddCredit("All Alinson", 1000d, 0.165, new DateTime(23, 04, 20), 2); Bank.PrintCredits(); Console.ReadKey(); } } class Bank : IEnumerable { public string Name { get; set; } public string MainAddress { get; set; } public List Credits { get; set; } = new List(); public void AddCredit(string receiver, double creditSum, double percent, DateTime creditRecivingDate, int loanRepaymentPeriod) { Credits.Add(new Credit(receiver, creditSum, percent, creditRecivingDate, loanRepaymentPeriod)); } public void AddCredit(Credit credit) { Credits.Add(credit); } public void PrintCredits() { var creditNumber = 1; foreach (var cr in Credits) { Console.WriteLine($"Credit number: {creditNumber} {cr.GetCreditInfo()}"); ++creditNumber; } } public IEnumerator GetEnumerator() { return ((IEnumerable)Credits).GetEnumerator(); } } class Credit : IComparable { public string Receiver { get; set; } public double CreditSum { get; set; } public double Percent { get; set; } public DateTime CreditRecivingDate { get; set; } public int LoanRepaymentPeriod { get; set; } public Credit(string receiver, double creditSum, double percent, DateTime creditRecivingDate, int loanRepaymentPeriod) { Receiver = receiver; CreditSum = creditSum; Percent = percent; CreditRecivingDate = creditRecivingDate; LoanRepaymentPeriod = loanRepaymentPeriod; } public void Print() { Console.WriteLine($"Credit for {Receiver} from {CreditRecivingDate.ToShortDateString()}:\n\r\tCredit sum: {CreditSum},\n\r\tPercent {Percent},\n\r\tLoan repayment period {LoanRepaymentPeriod}\n\r"); } public string GetCreditInfo() { return $"Credit for {Receiver} from {CreditRecivingDate.ToShortDateString()}:\n\r\tCredit sum: {CreditSum},\n\r\tPercent {Percent},\n\r\tLoan repayment period {LoanRepaymentPeriod}\n\r"; } public int CompareTo(object obj) { return this.CompareTo(obj); } } }