コード例 #1
0
        // 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);
        }
コード例 #2
0
        /// <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();
        }
コード例 #3
0
        /// <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;
            }
        }
コード例 #4
0
        /// <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;
        }
コード例 #5
0
 /// <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);
 }