void OnCounterpartyChanged(Counterparty newCounterparty) { if (newCounterparty != null) { SelectedCounterparty = newCounterparty; CounterpartyChangeEvent evt = eventAggregator.GetEvent <CounterpartyChangeEvent>(); evt.Publish(newCounterparty); } }
public CounterpartyViewModel( ICounterpartyService dataService, IEventAggregator eventAggregator) { this.dataService = dataService; this.eventAggregator = eventAggregator; this.counterparties = new ObservableCollection <Counterparty>(dataService.FindAll()); this.addCommand = new DelegateCommand( () => { NewCounterparty = Counterparty.CreateNewCounterparty(); NewCounterparty.PropertyChanged += (s, e) => { saveCommand.RaiseCanExecuteChanged(); }; // when first displayed the new counterparty will be invalid so we should disable the Save button saveCommand.RaiseCanExecuteChanged(); } ); this.saveCommand = new DelegateCommand( () => { dataService.Add(NewCounterparty); this.Counterparties = new ObservableCollection <Counterparty>(dataService.FindAll()); RaisePropertyChanged("Counterparties"); // Don't use the NewCounterparty object as it won't be in the Counterparties list var newCounterparty = this.Counterparties.Where(c => c.Id == NewCounterparty.Id).Single(); OnCounterpartyChanged(newCounterparty); }, () => { return((NewCounterparty == null) ? false : NewCounterparty.IsValid); } ); if (counterparties.Count() > 0) { SelectedCounterparty = counterparties.First(); CounterpartyChangeEvent evt = eventAggregator.GetEvent <CounterpartyChangeEvent>(); evt.Publish(SelectedCounterparty); } }
public UsageViewModel(IEventAggregator eventAggregator, IUsageService usageService, IMenuService menuService, IRegionManager regionManager) { this.eventAggregator = eventAggregator; this.usageService = usageService; this.menuService = menuService; this.regionManager = regionManager; CounterpartyChangeEvent counterpartyChangeEvent = eventAggregator.GetEvent <CounterpartyChangeEvent>(); counterpartyChangeEvent.Subscribe(OnCounterpartyChanged); showUsageCommand = new DelegateCommand(ShowUsage); menuService.RegisterMenu(new MenuEntry() { Text = viewName, Command = showUsageCommand }); }
public UsageDailyViewModel(IEventAggregator eventAggregator, IUsageService usageService, IMenuService menuService, IRegionManager regionManager) { this.eventAggregator = eventAggregator; this.usageService = usageService; this.menuService = menuService; this.regionManager = regionManager; CounterpartyChangeEvent evt = eventAggregator.GetEvent <CounterpartyChangeEvent>(); evt.Subscribe(OnSelectedCounterpartyChanged); // We may be launching this view after the counterparty has been selected e.g. popup window so get the usage for the currently selected counterparty if (usageService.CurrentCounterparty != null) { var usages = usageService.FindLatestUsageByCounterparty(usageService.CurrentCounterparty); Usages = new ObservableCollection <Model.Usage>(usages); } showUsageDailyCommand = new DelegateCommand(ShowUsageDaily); menuService.RegisterMenu(new MenuEntry() { Text = "Daily Usage", Command = showUsageDailyCommand }); showGraphCommand = new DelegateCommand(ShowGraph); menuService.RegisterMenu(new MenuEntry() { Text = "Show Graph", Command = showGraphCommand }); showUsageDailyPopupCommand = new DelegateCommand(ShowUsageDailyPopup); menuService.RegisterMenu(new MenuEntry() { Text = "Show PopUp Daily Usage", Command = showUsageDailyPopupCommand }); }