// TODO: WEBSITE FILTER /// <summary> /// Models the property filter. /// </summary> /// <param name="measure">The measure.</param> /// <returns></returns> bool ModelPropertyFilter(MeasureModel measure) { if (measure == null) { return(false); } if (Model.SelectedProperty == ModelPropertyFilterValues.NONE) { return(true); } if (Model.SelectedProperty == ModelPropertyFilterValues.MEASURE_CODE) { return(measure.Measure.MeasureCode.ToLower().Contains(Model.PropertyFilterText.ToLower())); } if (Model.SelectedProperty == ModelPropertyFilterValues.MEASURE_NAME) { return(measure.Measure.MeasureTitle.Clinical.ToLower().Contains(Model.PropertyFilterText.ToLower())); } if (Model.SelectedProperty == ModelPropertyFilterValues.TOPIC_NAME) { return(measure.Measure.Topics.Any(t => t.Owner.Name.ToLower().Contains(Model.PropertyFilterText.ToLower()))); } if (Model.SelectedProperty == ModelPropertyFilterValues.SUBTOPIC_NAME) { return(measure.Measure.Topics.Any(t => t.Name.ToLower().Contains(Model.PropertyFilterText.ToLower()))); } if (Model.SelectedProperty == ModelPropertyFilterValues.WEBSITE_NAME) { return(measure.Websites.Any(w => w.ToLower().Contains(Model.PropertyFilterText.ToLower()))); } return(Model.SelectedProperty != ModelPropertyFilterValues.WEBSITE_NAME); }
/// <summary> /// Called when save action is performed. /// </summary> /// <param name="navigateback">if set to <c>true</c> [navigateback].</param> public override async void OnSave(bool navigateback = false) { MeasureModel.Committ(); MeasureModel.Committed = true; ExecuteNavigateBack(); }
/// <summary> /// Updates the current measure. /// </summary> /// <param name="m">The m.</param> public void UpdateCurrentMeasure(MeasureModel m) { IsBusy = true; try { MeasureModel = m; MeasureModel.InitMeasure(m.Measure); // added by Scott/Inga 10/14, but the measure being edited is not initialized correctly //MeasureModel.PropertyChanged += MeasureModel_PropertyChanged; if (MeasureService == null) { MeasureService = ServiceLocator.Current.GetInstance <IMeasureServiceSync>(); } TopicViewModels = new CollectionView(MeasureService.TopicViewModels); ReconcileTopicsViewModel(); MeasureModel.Committed = true; // for brand new init, measure has no changes, Commited=true, disables Cancel and Save buttons. } catch (Exception ex) { EventAggregator.GetEvent <ErrorNotificationEvent>().Publish(ex); } finally { IsBusy = false; } }
/// <summary> /// Called when the implementer has been navigated to. /// </summary> /// <param name="navigationContext">The navigation context.</param> public override void OnNavigatedTo(NavigationContext navigationContext) { base.OnNavigatedTo(navigationContext); TopicTypes = EnumExtensions.GetEnumDescriptions <TopicTypeEnum>(); EventAggregator.GetEvent <SetContextualHelpContextEvent>().Publish("Measures"); var measureId = (navigationContext.Parameters["MeasureId"] != null) ? int.Parse(navigationContext.Parameters["MeasureId"]) : (int?)null; LoadModel(measureId); MeasureModel = new MeasureModel(Model) { MeasureService = MeasureService, MeasureDetailsVm = this, Events = EventAggregator }; //select Topics belonging to the measure foreach (TopicViewModel topicViewModel in TopicViewModels) { if (topicViewModel.ChildrenCollectionView == null || !topicViewModel.ChildrenCollectionView.Any()) { continue; } foreach (var viewModel in topicViewModel.ChildrenCollectionView.OfType <SubTopicViewModel>().ToList()) { if (MeasureModel.Measure.Topics.Any(t => t.Id == viewModel.Id)) { viewModel.IsSelected = true; } } } if (Model is NursingHomeMeasure) { SelectedTopicType = TopicTypeEnum.NursingHome.GetDescription(); } else if (Model is PhysicianMeasure) { SelectedTopicType = TopicTypeEnum.Physician.GetDescription(); } //else if (Model is PhysicianMeasure) SelectedTopicType = TopicTypeEnum.Physician.GetDescription(); else { SelectedTopicType = TopicTypeEnum.Hospital.GetDescription(); } MeasureModel.Committed = true; }
/// <summary> /// Models the dataset filter. /// </summary> /// <param name="measure">The measure.</param> /// <returns></returns> bool ModelDatasetFilter(MeasureModel measure) { return(measure != null && measure.DataSetName == Model.SelectedDataSet); }