Пример #1
0
 public MoneyBag(Money[] bag)
 {
   for (int i = 0; i < bag.Length; i++)
   {
     if (!bag[i].IsZero)
       AppendMoney(bag[i]);
   }
 }
Пример #2
0
 static void Main(string[] args)
 {
   MoneyBag bag = new MoneyBag();
   Money moneyA = new Money(10, "EUR");
   Money moneyB = new Money(20, "USD");
   Money moneyC = new Money(15, "EUR");
   Money moneyD = new Money(25, "JPY");
   IMoney money = bag.AddMoney(moneyA);
   money = money.AddMoney(moneyB);
   money = money.AddMoney(moneyC);
   money = money.AddMoney(moneyD);
   Console.WriteLine("My Portfolio : " + money.ToString());
   Console.ReadLine();
 }
Пример #3
0
 public IMoney AddMoney(Money m)
 {
   if (m.Currency.Equals(Currency))
     return new Money(Amount + m.Amount, Currency);
   return new MoneyBag(this, m);
 }
Пример #4
0
 private void AppendMoney(Money aMoney)
 {
   IMoney old = FindMoney(aMoney.Currency);
   if (old == null)
   {
     fMonies.Add(aMoney);
     return;
   }
   fMonies.Remove(old);
   IMoney sum = old.Add(aMoney);
   if (sum.IsZero)
     return;
   fMonies.Add(sum);
 }
Пример #5
0
 public IMoney AddMoney(Money m)
 {
   return (new MoneyBag(m, this)).Simplify();
 }
Пример #6
0
 public MoneyBag(Money m, MoneyBag bag)
 {
   AppendMoney(m);
   AppendBag(bag);
 }
Пример #7
0
 public MoneyBag(Money m1, Money m2)
 {
   AppendMoney(m1);
   AppendMoney(m2);
 }
Пример #8
0
 private bool Contains(Money aMoney)
 {
   Money m = FindMoney(aMoney.Currency);
   return m.Amount == aMoney.Amount;
 }