private async Task PopulateProjectionsFromGroupAsync() { await Task.Factory.StartNew(() => { CashflowProjectionItems.Clear(); if (this.cashflowProjectionGroup != null && this.cashflowProjectionGroup.Items != null) { this.cashflowProjectionGroup.DefaultItems.ToList().ForEach(cpi => CashflowProjectionItems.Add(cpi)); } }); }
private void ToggleMode() { string periodGroup = selectedCashflowProjectionItem.PeriodGroup; if (periodGroup == null) { return; } // remember items belonging to period group var toggleItems = new List <CashflowProjectionItem>(); int i = 0, startingIndex = -1; foreach (var item in CashflowProjectionItems) { if (item.PeriodGroup == periodGroup) { toggleItems.Add(item); if (startingIndex <= 0) { startingIndex = i; } } i++; } // remove old items foreach (var item in toggleItems) { CashflowProjectionItems.Remove(item); } //toggle mode this.cashflowProjectionGroup.SwitchMode(periodGroup); // add new items foreach (var item in this.cashflowProjectionGroup.GetActiveItems(periodGroup)) { CashflowProjectionItems.Insert(startingIndex++, item); if (SelectedCashflowProjectionItem == null) { SelectedCashflowProjectionItem = item; } } }