/// <summary>
 /// Historical freahly Loaded from .json needs to be properly set up
 /// 1. Populate Event Handlers For Modify Total Ccy (for Accounting Data to HAD)
 /// 2. Populate Event Handlers for Modify Amount (for Accounting Data level)
 /// 3. Calculate All Total Amounts (under Ccy = RefCcy)
 /// </summary>
 public void PrepareForLoading()
 {
     _TotalCcy = _CcyDB.RefCcy;
     foreach (var item in _Data)
     {
         AccountingData data = item.Value;
         data.PrepareForLoading(_TotalCcy);
         data.ModifyCcyEventHandler += this.ModifyCcy;
     }
 }
        public void Reset(DateTime date, string ccy, CurrencyStatics cs)
        {
            _Data.Clear();
            _CcyDB.Reset();
            _CcyDB.AddRefCcy(ccy, cs);
            _TotalCcy = new Currency(ccy);
            AccountingData ad = new AccountingData(_CcyDB);

            //_Data.Add(new KeyValuePair<DateTime, AccountingData>(date, ad));
            AddData(date, ad);
        }
 public void AddData(DateTime date, AccountingData ad)
 {
     if (_Data.Where(x => x.Key == date).Count() == 0)
     {
         ad.Total(_TotalCcy, null);
         _Data.Add(new KeyValuePair <DateTime, AccountingData>(date, ad));
         ad.ModifyCcyEventHandler += this.ModifyCcy;
     }
     else
     {
         throw new Exception($"the Following date already exists {date}");
     }
 }