Пример #1
0
        /// <summary>
        /// Executes the load.
        /// </summary>
        /// <param name="session">The session.</param>
        /// <param name="id">The identifier.</param>
        protected override void ExecLoad(ISession session, object id)
        {
            base.ExecLoad(session, id);

            Model.WebsitesForReportDisplay = GetWebsites(Model.Id);
            var images = Model.GetPreviewImages();

            ProfessionalPreviewImage = images["Professional"];
            ConsumerPreviewImage     = images["Consumer"];

            //AttributeCollectionSet = AttributeViewModelFactory.Get(Model);
            Audience = new AudiencesViewModel(Model);
            Footnote = Model.Footnote;
            IsUserCreatedInstance = !Model.IsDefaultReport;
            Name          = Model.Name;
            HasAttributes = (Model.Filters != null && Model.Filters.Count > 0) || (Model.Columns != null && Model.Columns.Count > 0) ||
                            (Model.ComparisonKeyIcons != null && Model.ComparisonKeyIcons.Count > 0);

            if (Model.Columns != null && Model.Columns.Any())
            {
                if (Model.Columns.Any(x => x == null))
                {
                    Model.Columns = Model.Columns.RemoveNullValues();
                }

                Model.Columns = Model.Columns.DistinctBy(c => c.Name).ToList();
            }

            if (Model.Filters != null)
            {
                FilterCollectionView = (CollectionView)CollectionViewSource.GetDefaultView(Model.Filters.ToList());
                FilterCollectionView.GroupDescriptions.Clear();
                FilterCollectionView.GroupDescriptions.Add(new PropertyGroupDescription("Type"));

                ReportAttributesTabIndex = (Model.Filters != null && Model.Filters.Count > 0)
                    ? 0 : (Model.Columns != null && Model.Columns.Count > 0)
                    ? 1 : (Model.ComparisonKeyIcons != null && Model.ComparisonKeyIcons.Count > 0)
                    ? 2 : 0;
            }
            if (Model.ComparisonKeyIcons != null)
            {
                Model.ComparisonKeyIcons.RemoveAll(x => x == null);
                SelectedIconSet = Model.ComparisonKeyIcons.FirstOrDefault(x => x != null && x.IsIncluded);
            }
            OriginalModelHashCode = GetModelHashCode(Model);
        }
Пример #2
0
        /// <summary>
        /// Called when [new report].
        /// </summary>
        private void OnNewReport()
        {
            var report = new Report(Model.SourceTemplate)
            {
                IsDefaultReport = false,
            };

            report.DateCreated = null;
            report.LastReportManifestUpdate = System.Data.SqlTypes.SqlDateTime.MinValue.Value; //DateTime.MinValue;	// new DateTime(2000, 01, 01);
            IsUserCreatedInstance           = true;
            report.Filters = Model.Filters;
            report.ComparisonKeyIcons.RemoveAll(x => x == null);

            if (report.Filters != null && report.Filters.Any())
            {
                report.Filters.ForEach(rf => rf.Owner = report);
            }

            Model    = report;
            Audience = new AudiencesViewModel(Model);

            OriginalModelHashCode = GetModelHashCode(Model);
        }