コード例 #1
0
        /// <summary>
        /// Executes the load.
        /// </summary>
        /// <param name="session">The session.</param>
        protected override void ExecLoad(ISession session)
        {
            DatasetList = session.Query <Target>()
                          .Select(x => new KeyValuePair <string, int>(x.Name, x.Measures.Count()))
                          .ToList();

            DataSetsCollectionView = DatasetList.Select(x => x.Key).Where(x => x != "Physician Data").ToList();
            WebsiteStructs         = GetWebsites(session);
            TopicsStruts           = GetTopics(session);

            GetPage();

            //var allMeasures = session.Query<Measure>()
            //                      .Where(x => !x.IsOverride)
            //                      .OrderBy(x => x.Name)
            //                      .Select(x => GenExecLoadMeasure(x))
            //                      .Cacheable()
            //                      .CacheMode(CacheMode.Normal)
            //                      .CacheRegion("MeasureLists:Measures")
            //                      .ToFuture()
            //                      .ToList();

            //var distinctMeasures = allMeasures.DistinctBy(m => m.Name).ToList();

            //foreach (var m in distinctMeasures)
            //{
            //    var topics = new List<Topic>();
            //    var assignedTopics = allMeasures.Where(x => x.Name == m.Name).Select(t => t.Topics).ToList();
            //    m.WebsitesForMeasureDisplay = WebsiteStructs.Where(x => x.MeasureId == m.Id).Select(w => w.WebsiteName).ToList(); //  GetWebsites(session, m.Id);

            //    if (assignedTopics.Count() == 1) continue;

            //    assignedTopics.ForEach(topics.AddRange);
            //    topics.DistinctBy(tt => tt.Id).ForEach(t => m.AddTopic(t));
            //}

            //CollectionItems = new ListCollectionView(distinctMeasures.ToObservableCollection());
            //SelectedMeasure = distinctMeasures.FirstOrDefault();


            RaisePropertyChanged(() => CollectionItems);
            RaisePropertyChanged(() => HeaderText);
            //foreach (var item in CollectionItems.OfType<Measure>().ToList())
            //{
            //    item.WebsitesForMeasureDisplay = GetWebsites(session, item.Id);
            //}
        }