コード例 #1
0
        public bool SpecificAudienceForDisplayValidation(ReportViewModel currentReport, IList <Audience> currentWebsiteAudiences)
        {
            int audienceCount = currentWebsiteAudiences.Count(audience => currentReport.AudienceForDisplay.ContainsIgnoreCase(audience.ToString()));

            if (audienceCount == 0)
            {
                MessageBox.Show("The selected report(s) are not recommended for the " + currentReport.AudienceForDisplay + ", as the data contained in the report may not be easily understood by the selected audience type. This report will not be included in the website.", "Validation Error!!!", MessageBoxButton.OK);
                IsSelected = false;
            }
            else
            {
                IsSelected = true;
            }
            return(IsSelected);
        }
コード例 #2
0
 private void OnPreview(ReportViewModel report)
 {
     IsPreviewOpen = Visibility.Visible;
     IsOpen        = true;
 }
コード例 #3
0
        private Tuple <ObservableCollection <TrendingYear>, string> GetDefaultTrendingYears(List <Tuple <string, string> > dasetYears, ReportViewModel reportModel, IEnumerable <Quarters> quarters)
        {
            var defaultYear   = dasetYears.Max(x => x.Item1);
            var trendingYears = Tuple.Create(dasetYears.DistinctBy(y => y.Item1).Select(x => new TrendingYear
            {
                Year      = x.Item1,
                IsDefault = x.Item1 == defaultYear,

                Quarters = quarters.Where(q => reportModel.Datasets.Contains(q.Name)).Select(quarter => new Period
                {
                    Text       = quarter.Text,
                    IsSelected = true,
                }).ToList(),
                IsSelected = true
            }).OrderBy(x => x.Year).ToObservableCollection(), defaultYear);


            if (reportModel.Years != null && reportModel.Years.Any())
            {
                foreach (var tYear in trendingYears.Item1)
                {
                    var existingYear = reportModel.Years.FirstOrDefault(y => y.Year == tYear.Year);
                    if (existingYear != null)
                    {
                        tYear.Year       = existingYear.Year;
                        tYear.Quarters   = existingYear.Quarters;
                        tYear.IsSelected = existingYear.IsSelected;
                        tYear.IsExpanded = existingYear.IsExpanded;
                        tYear.IsDefault  = existingYear.IsDefault;
                    }
                }
            }


            return(trendingYears);
        }
コード例 #4
0
        private Tuple <ObservableCollection <TrendingYear>, string> GetTrendingYears(List <Tuple <string, string> > datasetYears, ReportViewModel reportModel, IEnumerable <Quarters> quarters)
        {
            if (CurrentWebsite.IsPersisted && CurrentWebsite.Reports != null && CurrentWebsite.Reports.Any())
            {
                var savedReport = CurrentWebsite.Reports.FirstOrDefault(x => x.Report.Name == reportModel.Name);

                if (savedReport != null && !ManageViewModel.IsTrendingYearUpdated)
                {
                    if (savedReport.SelectedYears.All(y => y.Year.In(datasetYears)))
                    {
                        return(Tuple.Create(savedReport.SelectedYears.ToObservableCollection(), savedReport.DefaultSelectedYear));
                    }
                    else
                    {
                        return(GetDefaultTrendingYears(datasetYears, reportModel, quarters));
                    }
                }
                else
                {
                    return(GetDefaultTrendingYears(datasetYears, reportModel, quarters));
                }
            }

            return(GetDefaultTrendingYears(datasetYears, reportModel, quarters));
        }
コード例 #5
0
 private bool TestName(ReportViewModel vm)
 {
     return(StringTest(vm.Name));
 }
コード例 #6
0
 private bool TestType(ReportViewModel vm)
 {
     return(StringTest(vm.Type));
 }
コード例 #7
0
 private bool TestWebsite(ReportViewModel vm)
 {
     return(ArrayTest(vm.Websites.Select(s => s)));
 }
コード例 #8
0
 private void OnOpenTrending(ReportViewModel obj)
 {
     SelectedReport   = obj;
     IsTrendingOpened = true;
 }
コード例 #9
0
 private void OnNewReportCreated(ReportViewModel vm)
 {
     ReportsCollectionView.AddNewItem(vm);
     SelectedReport = vm;
 }