private void UpdateWebsitesListView() { switch (SelectedSort) { case _WebSiteReportedPeriod: WebsitesCVS.Source = WebsiteViewModels.OrderBy(wvm => wvm.ReportedPeriod); break; case _WebsiteTargetAudience: WebsitesCVS.Source = WebsiteViewModels.OrderBy(wvm => wvm.Website.Audiences); break; case _WebsiteStatusInProgress: WebsitesCVS.Source = WebsiteViewModels.Where(wvm => wvm.CurrentStatusLabel == WebsiteViewModel.CurrentStatusLabelInProgress); break; case _WebsitestatusComplete: WebsitesCVS.Source = WebsiteViewModels.Where(wvm => wvm.CurrentStatusLabel == WebsiteViewModel.CurrentStatusLabelComplete); break; default: // Name is the default WebsitesCVS.Source = WebsiteViewModels.OrderBy(wvm => wvm.DisplayName); break; } }
void OnWebsiteCreatedOrUpdated(ExtendedEventArgs <GenericWebsiteEventArgs> args) { if (args == null) { return; } if (WebsiteViewModels.Any(ws => ws.Website.Id == args.Data.Website.Website.Id)) // Updated { var wvm = WebsiteViewModels.SingleOrDefault(w => w.Website.Id == args.Data.Website.Website.Id); if (wvm != null) { wvm.Website = args.Data.Website.Website; } } else // new { WebsiteViewModels.Add(args.Data.Website); //var msg = String.Format("Website {0} has been added", vm.Website.Name); Events.GetEvent <GenericNotificationEvent>().Publish(args.Data.Message); SelectedWebsite = args.Data.Website; // SZ: commented out duplicate call //Events.GetEvent<GenericNotificationEvent>().Publish(args.Data.Message); } }
//void OnWebsiteUpdated(WebsiteViewModel vm) //{ // // TODO: re-apply the sortby function now in case the current sort-property was changed on the website. // var msg = String.Format("Website {0} has been updated", vm.Website.Name); // EventAggregator.GetEvent<GenericNotificationEvent>().Publish(msg); // WebsitesCVS.View.Refresh(); // SelectedWebsite = vm; //} void OnWebsiteDeleted(WebsiteViewModel vm) { var name = vm.Website.Name; WebsiteViewModels.Remove(vm); var msg = String.Format("Website {0} has been deleted", name); Events.GetEvent <GenericNotificationEvent>().Publish(msg); WebsitesCVS.View.Refresh(); // Select the 1st one in the list or null. // TODO: better to select 1 below the one just deleted. SelectedWebsite = WebsiteViewModels.Any() ? WebsiteViewModels[0] : null; }
private void LoadData() { //var baseData = ServiceLocator.Current.GetInstance<IBaseDataService>(); //var quarters = baseData.ReportingQuarters.Where(data => data.Id != null); if (WebsiteViewModels != null) { WebsiteViewModels.Clear(); } SortEnumeration = new ObservableCollection <string> { _websiteDisplayName, _WebSiteReportedPeriod, _WebsiteTargetAudience, _WebsiteStatusInProgress, _WebsitestatusComplete }; WebsiteViewModels = WebsiteDataService.GetAllWebsites(); WebsitesCVS = new CollectionViewSource { Source = WebsiteViewModels }; WebsiteCount = WebsiteViewModels.Count; }