/// <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); }
/// <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); }