/// <summary> /// Gramps export XML plus media. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="parameter"> /// The parameter. /// </param> public async void PickFile() { BaseCL.LogProgress("Calling folder picker"); try { if (await StoreFileUtility.PickCurrentInputFile().ConfigureAwait(false)) { BaseCL.LogProgress("Tell someone to load the file"); // Remove the old dateTime stamps so the files get reloaded even if they have // been seen before CommonLocalSettings.SetReloadDatabase(); BaseEventAggregator.GetEvent <DataLoadStartEvent>().Publish(false); BaseEventAggregator.GetEvent <PageNavigateEvent>().Publish(nameof(MessageLogPage)); await DataStore.CN.ChangeLoadingMessage("File picked").ConfigureAwait(false); } else { BaseCL.LogProgress("File picker error"); DataStore.CN.NotifyAlert("No input file was selected"); // Allow another pick if required LocalCanHandleDataFolderChosen = true; } } catch (Exception ex) { DataStore.CN.NotifyException("Exception when using File Picker", ex); } }
/// <summary> /// Populates the view ViewModel. /// </summary> /// <returns> /// </returns> public override void HandleViewDataLoadEvent() { BaseCL.RoutineEntry("DateDetailViewModel"); HLinkDateModelSpan HLinkObject = CommonRoutines.GetHLinkParameter <HLinkDateModelSpan>(BaseParamsHLink); BaseTitle = HLinkObject.Title; DateObject = HLinkObject.DeRef; if (DateObject.Valid) { BaseModelBase = DateObject; /* * General Details */ // Get the Base Date Details BaseDetail.Add(DateObject.AsCardListLineBaseDate()); BaseDetail.Add(DateObject.AsCardListLineBaseDateDetail()); BaseDetail.Add(DateObject.AsCardListLineBaseDateInternal()); BaseDetail.Add((DateObject as IDateObjectModelSpan).AsCardListLine()); } return; }
/// <summary> /// Gramps export XML plus media. /// </summary> public async Task PickFile() { BaseCL.Progress("Calling folder picker"); try { BaseCurrentLayoutState = LayoutState.Loading; App.Current.Services.GetService <IErrorNotifications>().DataLogEntryReplace(""); if (await StoreFileUtility.PickCurrentInputFile().ConfigureAwait(false)) { await StartLoad(); } else { BaseCL.Progress("File picker error"); App.Current.Services.GetService <IErrorNotifications>().NotifyAlert("No input file was selected"); BaseCurrentLayoutState = LayoutState.None; } } catch (Exception ex) { App.Current.Services.GetService <IErrorNotifications>().NotifyException("Exception when using File Picker", ex); throw; } }
/// <summary> /// Populates the view ViewModel. /// </summary> /// <returns> /// </returns> public override void HandleViewDataLoadEvent() { BaseCL.RoutineEntry("AttributeDetailViewModel"); HLinkAttributeObject = CommonRoutines.GetHLinkParameter <HLinkAttributeModel>(BaseParamsHLink); if (HLinkAttributeObject.Valid) { AttributeObject = HLinkAttributeObject.DeRef; BaseModelBase = AttributeObject; // Get the Attribute Details BaseDetail.Add(new CardListLineCollection("Attribute Detail") { new CardListLine("Type:", AttributeObject.GType), new CardListLine("Value:", AttributeObject.GValue), }); // Add Standard details BaseDetail.Add(CommonRoutines.GetModelInfoFormatted(AttributeObject)); } return; }
//private double mX = 0f; //private double mY = 0f; /// <summary> /// Initializes a new instance of the <see cref="MediaDetailViewModel"/> class. /// </summary> /// <param name="iocCommonLogging"> /// The common logging. /// </param> /// <param name="iocEventAggregator"> /// The event aggregator. /// </param> /// <param name="iocNavigationService"> /// The navigation service. /// </param> public MediaDetailViewModel(ICommonLogging iocCommonLogging, IEventAggregator iocEventAggregator, INavigationService iocNavigationService) : base(iocCommonLogging, iocEventAggregator, iocNavigationService) { BaseCL.LogProgress("MediaDetailViewModel created"); OpenImageCommand = new DelegateCommand(OpenImage, CanOpenImage); }
/// <summary> /// Populates the view ViewModel. /// </summary> /// <returns> /// </returns> public override void PopulateViewModel() { BaseCL.LogRoutineEntry("AddressDetailViewModel"); AddressObject = DV.AddressDV.GetModelFromHLink(BaseNavParamsHLink); if (AddressObject.Valid) { // Trigger refresh of View fields via INotifyPropertyChanged RaisePropertyChanged(string.Empty); BaseTitle = AddressObject.GetDefaultText; // Get media image MediaCard = AddressObject.HomeImageHLink.ConvertToHLinkMediaModel; // Get Header Details //CardGroup headerCardGroup = new CardGroup { }; // Get the Name Details CardListLineCollection nameDetails = new CardListLineCollection { new CardListLine("Card Type:", "Address Detail"), new CardListLine("Street:", AddressObject.GStreet), new CardListLine("City:", AddressObject.GCity), new CardListLine("Locality:", AddressObject.GLocality), new CardListLine("County:", AddressObject.GCounty), new CardListLine("State:", AddressObject.GState), new CardListLine("Country:", AddressObject.GCountry), new CardListLine("Date:", AddressObject.GDate.ShortDate), new CardListLine("Postal:", AddressObject.GPostal), new CardListLine("Phone:", AddressObject.GPhone), }; // Get date card BaseDetail.Add(AddressObject.GDate.AsCardListLine()); BaseDetail.Add(nameDetails); // Add Standard details BaseDetail.Add(DV.PersonDV.GetModelInfoFormatted(AddressObject)); // Add map card BaseDetail.Add(TurnAddressToURLModel()); // Add header //BaseDetail.Add(headerCardGroup); BaseDetail.Add(AddressObject.GCitationRefCollection.GetCardGroup()); BaseDetail.Add(AddressObject.GNoteRefCollection.GetCardGroup()); } return; }
/// <summary> /// Populates the view ViewModel. /// </summary> /// <returns> /// </returns> public override void PopulateViewModel() { BaseCL.LogRoutineEntry("AddressDetailViewModel"); AddressObject = DV.AddressDV.GetModelFromHLink(BaseNavParamsHLink); if (AddressObject.Valid) { BaseTitle = AddressObject.GetDefaultText; // Get media image HLinkHomeImageModel AddressImage = AddressObject.HomeImageHLink; AddressImage.CardType = DisplayFormat.MediaCardLarge; BaseDetail.Add(AddressImage); // Get Header Details CardGroup headerCardGroup = new CardGroup { Title = "Address Details" }; // Get the Name Details CardListLineCollection nameDetails = new CardListLineCollection { new CardListLine("Card Type:", "Address Detail"), new CardListLine("Street:", AddressObject.GStreet), new CardListLine("City:", AddressObject.GCity), new CardListLine("Locality:", AddressObject.GLocality), new CardListLine("County:", AddressObject.GCounty), new CardListLine("State:", AddressObject.GState), new CardListLine("Country:", AddressObject.GCountry), new CardListLine("Date:", AddressObject.GDate.ShortDate), new CardListLine("Postal:", AddressObject.GPostal), new CardListLine("Phone:", AddressObject.GPhone), }; headerCardGroup.Add(nameDetails); // Add Standard details headerCardGroup.Add(DV.PersonDV.GetModelInfoFormatted(AddressObject)); // Add map card headerCardGroup.Add(TurnAddressToURLModel()); // Add header BaseDetail.Add(headerCardGroup); BaseDetail.Add(AddressObject.GCitationRefCollection.GetCardGroup()); BaseDetail.Add(AddressObject.GNoteRefCollection.GetCardGroup()); BaseDetail.Add(AddressObject.BackHLinkReferenceCollection.GetCardGroup()); } return; }
private async Task StartLoad() { BaseCL.Progress("Tell someone to load the file"); // Remove the old dateTime stamps so the files get reloaded even if they have been seen before CommonLocalSettings.SetReloadDatabase(); SharedSharp.Common.SharedSharpNavigation.NavigateHub(); await Task.Delay(500); App.Current.Services.GetService <IMessenger>().Send(new DataLoadStartEvent(true)); }
/// <summary> /// Loads the sample data. /// </summary> public async Task LoadSample() { BaseCL.Progress("Load sample data"); CommonRoutines.ListEmbeddedResources(); // Load Resource var assemblyExec = Assembly.GetExecutingAssembly(); var resourceName = "GrampsView.AnythingElse.SampleData.EnglishTudorHouse.gpkg"; DataStore.Instance.AD.CurrentInputStream = assemblyExec.GetManifestResourceStream(resourceName); DataStore.Instance.AD.CurrentInputStreamPath = "AnythingElse/Sample Data/EnglishTudorHouse.gpkg"; await StartLoad(); }
/// <summary> /// Handles navigation inwards and gets the media model parameter. /// </summary> /// <returns> /// </returns> public override void HandleViewDataLoadEvent() { BaseCL.RoutineEntry("MediaDetailViewModel OnNavigatedTo"); CurrentHLinkMedia = CommonRoutines.GetHLinkParameter <HLinkMediaModel>((BaseParamsHLink)); // For cropped or internal media then show the original image IMediaModel tt = CurrentHLinkMedia.DeRef; if (tt.IsInternalMediaFile) { CurrentHLinkMedia = DV.MediaDV.GetModelFromHLinkKey(tt.InternalMediaFileOriginalHLink).HLink; } if (!(CurrentHLinkMedia is null)) { CurrentMediaObject = CurrentHLinkMedia.DeRef as MediaModel; if (!(CurrentMediaObject is null)) { BaseModelBase = CurrentMediaObject; BaseTitleIcon = Constants.IconMedia; MediaCard = CurrentMediaObject.ModelItemGlyph.ImageHLinkMediaModel; // Get basic details BaseDetail.Add(new CardListLineCollection("Media Detail") { new CardListLine("File Description:", CurrentMediaObject.GDescription), new CardListLine("File Mime Type:", CurrentMediaObject.FileMimeType), new CardListLine("File Content Type:", CurrentMediaObject.FileContentType), new CardListLine("File Mime SubType:", CurrentMediaObject.FileMimeSubType), new CardListLine("OriginalFilePath:", CurrentMediaObject.OriginalFilePath), }); // Get date card BaseDetail.Add(CurrentMediaObject.GDateValue.AsHLink("Media Date")); // Add standard details MediaModel t = CurrentMediaObject as MediaModel; BaseDetail.Add(DV.MediaDV.GetModelInfoFormatted(t)); } BaseCL.RoutineExit("MediaDetailViewModel OnNavigatedTo"); } }
/// <summary> /// Gramps export XML plus media. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="parameter"> /// The parameter. /// </param> public void UseExistingFolder() { LocalCanHandleDataFolderChosen = false; if (DataStore.AD.CurrentDataFolderValid) { BaseCL.LogProgress("Tell someone to load the file"); // Remove the old dateTime stamps so the files get reloaded even if they have been // seen before Preferences.Set(CommonConstants.SettingsGPKGFileLastDateTimeModified, DateTime.MinValue); Preferences.Set(CommonConstants.SettingsGPRAMPSFileLastDateTimeModified, DateTime.MinValue); Preferences.Set(CommonConstants.SettingsXMLFileLastDateTimeModified, DateTime.MinValue); BaseEventAggregator.GetEvent <DataLoadStartEvent>().Publish(false); BaseEventAggregator.GetEvent <PageNavigateEvent>().Publish(nameof(MessageLogPage)); } }
/// <summary> /// Populates the view ViewModel by handling the Load Event. /// </summary> /// <returns> /// <br/> /// </returns> public override void HandleViewDataLoadEvent() { BaseCL.RoutineEntry("AddressDetailViewModel"); HLinkAdressModel HLinkObject = CommonRoutines.GetHLinkParameter <HLinkAdressModel>((BaseParamsHLink)); AddressObject = HLinkObject.DeRef; if (AddressObject.Valid) { BaseModelBase = AddressObject; // Get media image MediaCard = AddressObject.ModelItemGlyph.ImageHLinkMediaModel; // Get the Name Details BaseDetail.Add(new CardListLineCollection("Address Detail") { new CardListLine("Street:", AddressObject.GStreet), new CardListLine("City:", AddressObject.GCity), new CardListLine("Locality:", AddressObject.GLocality), new CardListLine("County:", AddressObject.GCounty), new CardListLine("State:", AddressObject.GState), new CardListLine("Country:", AddressObject.GCountry), new CardListLine("Date:", AddressObject.GDate.ShortDate), new CardListLine("Postal:", AddressObject.GPostal), new CardListLine("Phone:", AddressObject.GPhone), }); // Add date card BaseDetail.Add(AddressObject.GDate.AsHLink("Address Date")); // Add Map card BaseDetail.Add(AddressObject.ToMapModel().HLink); // Add Standard details BaseDetail.Add(DV.AddressDV.GetModelInfoFormatted(AddressObject)); } return; }
/// <summary> /// Override for the OnNavigatedTo Prism method. /// </summary> public override void PopulateViewModel() { BaseCL.LogRoutineEntry("PeopleGraphViewModel"); string startPoint = BaseNavParamsHLinkDefault(new HLinkBase { HLinkKey = "_c47a6bd11500b4b0cc8" }).HLinkKey; // Assume person PersonModel t = DV.PersonDV.GetModelFromHLinkString(startPoint); if (t.HLink.Valid == true) { StartHLink = t.HLink; } else { FamilyModel tf = DV.FamilyDV.GetModelFromHLinkString(startPoint); StartHLink = tf.HLink; } if (!StartHLink.Valid) { DataStore.CN.NotifyError("HLink passed to PersonGraph not found"); return; } GraphReset(); GetGraph(); LayoutPreStart(); LayoutNodes(); LayoutEdges(); }
/// <summary> /// Loads the sample data. /// </summary> public void LoadSample() { BaseCL.LogProgress("Load sample data"); CommonRoutines.ListEmbeddedResources(); // Load Resource var assemblyExec = Assembly.GetExecutingAssembly(); var resourceName = "GrampsView.AnythingElse.SampleData.EnglishTudorHouse.gpkg"; DataStore.AD.CurrentInputStream = assemblyExec.GetManifestResourceStream(resourceName); DataStore.AD.CurrentInputStreamPath = "AnythingElse/Sample Data/EnglishTudorHouse.gpkg"; BaseCL.LogProgress("Tell someone to load the file"); // Remove the old dateTime stamps so the files get reloaded even if they have been seen before CommonLocalSettings.SetReloadDatabase(); BaseEventAggregator.GetEvent <DataLoadStartEvent>().Publish(false); BaseEventAggregator.GetEvent <PageNavigateEvent>().Publish(nameof(MessageLogPage)); }
/// <summary> /// Override for the OnNavigatedTo Prism method. /// </summary> public override void HandleViewDataLoadEvent() { BaseCL.RoutineEntry("PeopleGraphViewModel"); HLinkKey startPoint = new HLinkKey("_c47a6bd11500b4b0cc8"); // Assume person PersonModel t = DV.PersonDV.GetModelFromHLinkKey(startPoint); // TODO add back in //if (t.HLink.Valid == true) //{ // StartHLink = t.HLink; //} //else //{ // FamilyModel tf = DV.FamilyDV.GetModelFromHLinkKey(startPoint); // StartHLink = tf.HLink; //} if (!StartHLink.Valid) { App.Current.Services.GetService <IErrorNotifications>().NotifyError(new ErrorInfo("HLink passed to PersonGraph not found")); return; } GraphReset(); GetGraph(); LayoutPreStart(); LayoutNodes(); LayoutEdges(); }
/// <summary> /// Populates the view ViewModel. /// </summary> /// <returns> /// </returns> public override void HandleViewDataLoadEvent() { BaseCL.RoutineEntry("PersonDetailViewModel"); // TODO try again to set this up when the toolkit is a little more mature or I have an // idea where the bug is coming from BaseCurrentLayoutState = LayoutState.Loading; HLinkPersonModel HLinkPerson = CommonRoutines.GetHLinkParameter <HLinkPersonModel>(BaseParamsHLink); PersonObject = HLinkPerson.DeRef; if (!(PersonObject is null)) { BaseModelBase = PersonObject; // Get media image MediaCard = PersonObject.ModelItemGlyph; // Get the Name Details BaseDetail.Add(PersonObject.GPersonNamesCollection.GetPrimaryName); // Get the Person Details CardListLineCollection nameDetails = GetExtraPersonDetails(); nameDetails.Title = "Person Detail"; BaseDetail.Add(nameDetails); // Get date card BaseDetail.Add(PersonObject.BirthDate.AsHLink("Birth Date")); // Get parent details BaseDetail.Add( new HLinkParentLinkModel { DeRef = PersonObject.GChildOf.DeRef, }); // Add Standard details BaseDetail.Add(DV.PersonDV.GetModelInfoFormatted(PersonObject)); // If Bio note, display it while showing the full list further below. BioNote = PersonObject.GNoteRefCollection.GetBio; NotesWithoutHighlight = PersonObject.GNoteRefCollection.GetCollectionWithoutOne(BioNote); // Add PersonRefDetails - TODO //if (BaseNavParamsHLink is HLinkPersonRefModel) //{ // HLinkPersonRefModel personRef = (BaseNavParamsHLink as HLinkPersonRefModel); // Contract.Assert(personRef != null); // BaseDetail.Add(personRef.GCitationCollection.GetCardGroup("PersonRef Citations")); // BaseDetail.Add(personRef.GNoteCollection.GetCardGroup("PersonRef Notes")); //} } // TODO fix this BaseCurrentLayoutState = LayoutState.None; return; }
/// <summary> /// Populates the view ViewModel. /// </summary> /// <returns> /// </returns> public override void PopulateViewModel() { BaseCL.LogRoutineEntry("PersonDetailViewModel"); PersonObject = DV.PersonDV.GetModelFromHLink(BaseNavParamsHLink); // Trigger refresh of View fields via INotifyPropertyChanged RaisePropertyChanged(string.Empty); if (!(PersonObject is null)) { BaseTitle = PersonObject.GPersonNamesCollection.GetPrimaryName.DeRef.GetDefaultText; // Get media image MediaCard = PersonObject.HomeImageHLink.ConvertToHLinkMediaModel; // Get Header Details //CardGroup headerCardGroup = new CardGroup { Title = "Header Details" }; // Get the Person Details CardListLineCollection nameDetails = new CardListLineCollection { new CardListLine("Card Type:", "Person Detail"), }; BaseDetail.Add(nameDetails); // Get the Name Details BaseDetail.Add(PersonObject.GPersonNamesCollection.GetPrimaryName.Copy(), argDisplayFormat: DisplayFormat.PersonNameCardSingle); // Get date card BaseDetail.Add(PersonObject.BirthDate.AsCardListLine("Birth Date")); // Get details on persons age etc BaseDetail.Add(GetExtraPersonDetails()); // Get parent details BaseDetail.Add( new ParentLinkModel { Parents = PersonObject.GChildOf.DeRef, }); // Add Standard details BaseDetail.Add(DV.PersonDV.GetModelInfoFormatted(PersonObject)); // BaseDetail.Add(headerCardGroup); // Get Bio HLinkNoteModel bioCard = PersonObject.GNoteRefCollection.GetBio; if (bioCard.Valid) { bioCard.CardType = DisplayFormat.NoteCardFull; BaseDetail.Add(bioCard); } // Add PersonRefDetails if (BaseNavParamsHLink is HLinkPersonRefModel) { HLinkPersonRefModel personRef = (BaseNavParamsHLink as HLinkPersonRefModel); Contract.Assert(personRef != null); BaseDetail.Add(personRef.GCitationCollection.GetCardGroup("PersonRef Citations")); BaseDetail.Add(personRef.GNoteCollection.GetCardGroup("PersonRef Notes")); } // Add details //BaseDetail.Add(PersonObject.GPersonNamesCollection.GetCardGroup()); //BaseDetail.Add(PersonObject.GParentInRefCollection.GetCardGroup()); //BaseDetail.Add(EventsIncFamily()); //BaseDetail.Add(PersonObject.GCitationRefCollection.GetCardGroup()); //BaseDetail.Add(PersonObject.GNoteRefCollection.GetCardGroupWithoutBio()); //BaseDetail.Add(PersonObject.GMediaRefCollection.GetCardGroup()); //BaseDetail.Add(PersonObject.GAttributeCollection); //BaseDetail.Add(PersonObject.GAddress.GetCardGroup()); //BaseDetail.Add(PersonObject.GTagRefCollection.GetCardGroup()); //BaseDetail.Add(PersonObject.GURLCollection); //BaseDetail.Add(PersonObject.GLDSCollection); //BaseDetail.Add(PersonObject.GPersonRefCollection.GetCardGroup()); _PlatformSpecific.ActivityTimeLineAdd(PersonObject); } return; }
/// <summary> /// Initializes a new instance of the <see cref="MediaDetailViewModel"/> class. /// </summary> /// <param name="iocCommonLogging"> /// The common logging. /// </param> /// <param name="iocEventAggregator"> /// The event aggregator. /// </param> /// <param name="iocNavigationService"> /// The navigation service. /// </param> public MediaDetailViewModel(ICommonLogging iocCommonLogging, IEventAggregator iocEventAggregator, INavigationService iocNavigationService) : base(iocCommonLogging, iocEventAggregator, iocNavigationService) { BaseCL.LogProgress("MediaDetailViewModel created"); }
/// <summary> /// Populates the view ViewModel. /// </summary> /// <returns> /// </returns> public override void HandleViewDataLoadEvent() { BaseCL.RoutineEntry("ChildRefDetailViewModel"); // TODO try again to set this up when the toolkit is a little more mature or I have an // idea where the bug is coming from BaseCurrentLayoutState = LayoutState.Loading; ChildRefHLink = CommonRoutines.GetHLinkParameter <HLinkChildRefModel>((BaseParamsHLink)); PersonObject = ChildRefHLink.DeRef; if (!(PersonObject is null)) { BaseModelBase = PersonObject; // Get media image MediaCard = PersonObject.ModelItemGlyph; // Get the Name Details BaseDetail.Add(PersonObject.GPersonNamesCollection.GetPrimaryName); // Get the Person Details CardListLineCollection nameDetails = GetExtraPersonDetails(); nameDetails.Title = "Child Reference Person Detail"; // handle frel and mrel defaults (according to the gramps source code) nameDetails.Add(new CardListLine("Father Relationship", ChildRefHLink.GFatherRel)); if (string.IsNullOrEmpty(ChildRefHLink.GFatherRel)) { nameDetails.Add(new CardListLine("Father Relationship", "Birth")); } nameDetails.Add(new CardListLine("Mother Relationship", ChildRefHLink.GMotherRel)); if (string.IsNullOrEmpty(ChildRefHLink.GMotherRel)) { nameDetails.Add(new CardListLine("Mother Relationship", "Birth")); } BaseDetail.Add(nameDetails); // Get date card BaseDetail.Add(PersonObject.BirthDate.AsHLink("Birth Date")); // Get parent details BaseDetail.Add( new HLinkParentLinkModel { DeRef = PersonObject.GChildOf.DeRef, }); // Add Standard details BaseDetail.Add(DV.PersonDV.GetModelInfoFormatted(PersonObject)); // If Bio note, display it while showing the full list further below. BioNote = PersonObject.GNoteRefCollection.GetBio; NotesWithoutHighlight = PersonObject.GNoteRefCollection.GetCollectionWithoutOne(BioNote); // Add PersonRefDetails - TODO //if (BaseNavParamsHLink is HLinkPersonRefModel) //{ // HLinkPersonRefModel personRef = (BaseNavParamsHLink as HLinkPersonRefModel); // Contract.Assert(personRef != null); // BaseDetail.Add(personRef.GCitationCollection.GetCardGroup("PersonRef Citations")); // BaseDetail.Add(personRef.GNoteCollection.GetCardGroup("PersonRef Notes")); //} // _PlatformSpecific.ActivityTimeLineAdd(PersonObject); //// Trigger refresh of View fields via INotifyPropertyChanged //OnPropertyChanged(string.Empty); } // TODO fix this BaseCurrentLayoutState = LayoutState.None; return; }
/// <summary> /// Populates the view ViewModel. /// </summary> /// <returns> /// </returns> public override async Task <bool> PopulateViewModelAsync() { BaseCL.LogRoutineEntry("PersonDetailViewModel"); PersonObject = DV.PersonDV.GetModelFromHLink(BaseNavParamsHLink); if (!(PersonObject is null)) { BaseTitle = PersonObject.GPersonNamesCollection.GetPrimaryName.GetDefaultText; // Get media image HLinkHomeImageModel personImage = PersonObject.HomeImageHLink; Contract.Assert(PersonObject.HomeImageHLink != null, PersonObject.Id); personImage.CardType = DisplayFormat.MediaCardLarge; BaseDetail.Add(personImage); // Get Header Details CardGroup headerCardGroup = new CardGroup { Title = "Header Details" }; // Get the Name Details CardListLineCollection nameDetails = new CardListLineCollection { new CardListLine("Card Type:", "Person Detail"), }; headerCardGroup.Add(nameDetails); // Handle the common case where there is only one name if (PersonObject.GPersonNamesCollection.Count == 1) { headerCardGroup.Add(PersonObject.GPersonNamesCollection[0]); } // Get extra details CardListLineCollection extraDetailsCard = new CardListLineCollection { new CardListLine("Gender:", PersonObject.GGenderAsString), }; if (PersonObject.BirthDate != null) { extraDetailsCard.Add(new CardListLine("Birth Date:", PersonObject.BirthDate.GetLongDateAsString)); if (PersonObject.IsLiving) { extraDetailsCard.Add(new CardListLine("Age:", PersonObject.BirthDate.GetAge)); } else { extraDetailsCard.Add(new CardListLine("Years Since Birth:", PersonObject.BirthDate.GetAge)); EventModel ageAtDeath = DV.EventDV.GetEventType(PersonObject.GEventRefCollection, "Death"); if (ageAtDeath.Valid) { extraDetailsCard.Add(new CardListLine("Age at Death:", ageAtDeath.GDate.DateDifferenceDecoded(PersonObject.BirthDate))); } } } else { extraDetailsCard.Add(new CardListLine("Birth Date:", "Unknown")); } extraDetailsCard.Add(new CardListLine("Is Living:", PersonObject.IsLivingAsString)); headerCardGroup.Add(extraDetailsCard); // Get parent details headerCardGroup.Add( new ParentLinkModel { Parents = PersonObject.GChildOf.DeRef, }); // Add Standard details headerCardGroup.Add(DV.PersonDV.GetModelInfoFormatted(PersonObject)); BaseDetail.Add(headerCardGroup); // Handle the uncommon case where there is more than one name if (PersonObject.GPersonNamesCollection.Count > 1) { // Add extra name details BaseDetail.Add(PersonObject.GPersonNamesCollection.GetCardGroup1()); } // Get Bio HLinkNoteModel bioCard = PersonObject.GNoteRefCollection.GetBio; bioCard.CardType = DisplayFormat.NoteCardFull; BaseDetail.Add(bioCard); // Add details BaseDetail.Add(PersonObject.GParentInRefCollection.GetCardGroup()); BaseDetail.Add(PersonObject.GEventRefCollection.GetCardGroup()); BaseDetail.Add(PersonObject.GCitationRefCollection.GetCardGroup()); BaseDetail.Add(PersonObject.GNoteRefCollection.GetCardGroup()); BaseDetail.Add(PersonObject.GMediaRefCollection.GetCardGroup()); BaseDetail.Add(PersonObject.GAttributeCollection); BaseDetail.Add(PersonObject.GAddress); BaseDetail.Add(PersonObject.GTagRefCollection.GetCardGroup()); BaseDetail.Add(PersonObject.GURLCollection); BaseDetail.Add(PersonObject.GLDSCollection); BaseDetail.Add(PersonObject.GPersonRefCollection); BaseDetail.Add(PersonObject.GPersonNamesCollection.GetPrimaryName.GCitationRefCollection.GetCardGroup("Name Citations")); BaseDetail.Add(PersonObject.GPersonNamesCollection.GetPrimaryName.GNoteReferenceCollection.GetCardGroup("Name Notes")); BaseDetail.Add(PersonObject.BackHLinkReferenceCollection.GetCardGroup()); // TODO localActivitySession = await CommonTimeline.AddToTimeLine("Person", // PersonObject, PersonObject.HomeImageHLink.DeRef.MediaStorageFilePath, "Person: " // + PersonObject.BirthName.FullName, "Born: " + PersonObject.BirthDate.GetShortDateAsString).ConfigureAwait(false); } return(true); }
/// <summary> /// Populates the view ViewModel. /// /// XML 1.71 all done /// </summary> /// <returns> /// </returns> public override void HandleViewDataLoadEvent() { BaseCL.RoutineEntry("NameDetailViewModel"); HLinkPersonNameModel HLinkObject = CommonRoutines.GetHLinkParameter <HLinkPersonNameModel>((BaseParamsHLink)); PersonNameObject = HLinkObject.DeRef; if (PersonNameObject.Valid) { BaseModelBase = PersonNameObject; // Get Header Details CardListLineCollection headerCardGroup = new CardListLineCollection { Title = "Person Name Details" }; headerCardGroup.Add(new CardListLine("Full Name:", PersonNameObject.FullName)); BaseDetail.Add(headerCardGroup); // TODO Show All Surnames CardListLineCollection PersonNameCards = new CardListLineCollection("Name") { new CardListLine("Type:", PersonNameObject.GType), new CardListLine("Full Name:", PersonNameObject.FullName), new CardListLine("Title:", PersonNameObject.GTitle), new CardListLine("FirstName:", PersonNameObject.GFirstName), new CardListLine("Primary SurName:", PersonNameObject.GSurName.GetPrimarySurname), new CardListLine("Suffix:", PersonNameObject.GSuffix), new CardListLine("Alternative:", PersonNameObject.GAlt.ToString()), new CardListLine("Call:", PersonNameObject.GCall), new CardListLine("Display:", PersonNameObject.GDisplay), new CardListLine("Family Nick:", PersonNameObject.GFamilyNick), new CardListLine("Group:", PersonNameObject.GGroup), new CardListLine("Nick:", PersonNameObject.GNick), new CardListLine("Priv:", PersonNameObject.Priv, true), new CardListLine("Sort:", PersonNameObject.GSort) }; BaseDetail.Add(PersonNameCards); // Get date card BaseDetail.Add(PersonNameObject.GDate.AsHLink("Name Date")); foreach (HLinkSurnameModel item in PersonNameObject.GSurName) { CardListLineCollection SurnameCard = new CardListLineCollection("Surnames") { new CardListLine("Surname:", item.ToString()), new CardListLine("Prefix:", item.DeRef.GPrefix), new CardListLine("Primary:", item.DeRef.GPrim), new CardListLine("Derivation:", item.DeRef.GDerivation), new CardListLine("Connector:", item.DeRef.GConnector), }; BaseDetail.Add(SurnameCard); } } return; }
/// <summary> /// Populates the view ViewModel. /// /// XML 1.71 all done /// </summary> /// <returns> /// </returns> public override void PopulateViewModel() { BaseCL.LogRoutineEntry("NameDetailViewModel"); PersonNameObject = DV.PersonNameDV.GetModelFromHLink(BaseNavParamsHLink); if (PersonNameObject.Valid) { BaseTitle = PersonNameObject.GetDefaultText; // Trigger refresh of View fields via INotifyPropertyChanged RaisePropertyChanged(string.Empty); // Get media image MediaCard = PersonNameObject.HomeImageHLink.ConvertToHLinkMediaModel; // Get Header Details CardGroup headerCardGroup = new CardGroup { Title = "Person Name Details" }; BaseDetail.Add(headerCardGroup); // TODO Show All Surnames CardListLineCollection PersonNameCards = new CardListLineCollection { new CardListLine("Type:", PersonNameObject.GType), new CardListLine("Full Name:", PersonNameObject.FullName), new CardListLine("Title:", PersonNameObject.GTitle), new CardListLine("FirstName:", PersonNameObject.GFirstName), new CardListLine("SurName:", PersonNameObject.GSurName.GetPrimarySurname), new CardListLine("Suffix:", PersonNameObject.GSuffix), new CardListLine("Alt:", PersonNameObject.GAlt.GetDefaultText), new CardListLine("Call:", PersonNameObject.GCall), new CardListLine("Display:", PersonNameObject.GDisplay), new CardListLine("Family Nick:", PersonNameObject.GFamilyNick), new CardListLine("Group:", PersonNameObject.GGroup), new CardListLine("Nick:", PersonNameObject.GNick), new CardListLine("Priv:", PersonNameObject.GPriv), new CardListLine("Sort:", PersonNameObject.GSort) }; BaseDetail.Add(PersonNameCards); // Get date card BaseDetail.Add(PersonNameObject.GDate.AsCardListLine()); foreach (SurnameModel item in PersonNameObject.GSurName) { CardListLineCollection SurnameCard = new CardListLineCollection { new CardListLine("Prefix:", item.GPrefix), new CardListLine("Primary:", item.GPrim), new CardListLine("Derivation:", item.GDerivation), new CardListLine("Connector:", item.GConnector), }; BaseDetail.Add(SurnameCard); } BaseDetail.Add(PersonNameObject.GCitationRefCollection.GetCardGroup()); BaseDetail.Add(PersonNameObject.GNoteReferenceCollection.GetCardGroup()); BaseDetail.Add(PersonNameObject.BackHLinkReferenceCollection.GetCardGroup()); } return; }
/// <summary> /// Initializes a new instance of the <see cref="MediaDetailViewModel"/> class. /// </summary> /// <param name="iocCommonLogging"> /// Common logger. /// </param> /// <param name="iocEventAggregator"> /// The event aggregator. /// </param> public MediaDetailViewModel(ISharedLogging iocCommonLogging, IMessenger iocEventAggregator) : base(iocCommonLogging) { BaseCL.Progress("MediaDetailViewModel created"); }
/// <summary> /// Populates the view ViewModel. /// /// XML 1.71 all done /// </summary> /// <returns> /// </returns> public override void PopulateViewModel() { BaseCL.LogRoutineEntry("NameDetailViewModel"); PersonNameObject = DV.PersonNameDV.GetModelFromHLink(BaseNavParamsHLink); if (PersonNameObject.Valid) { BaseTitle = PersonNameObject.GetDefaultText; // Get media image HLinkHomeImageModel AddressImage = PersonNameObject.HomeImageHLink; AddressImage.CardType = DisplayFormat.MediaCardLarge; BaseDetail.Add(AddressImage); // Get Header Details CardGroup headerCardGroup = new CardGroup { Title = "Person Name Details" }; BaseDetail.Add(headerCardGroup); // TODO Show All Surnames CardListLineCollection PersonNameCards = new CardListLineCollection { new CardListLine("Type:", PersonNameObject.GType), new CardListLine("Full Name:", PersonNameObject.FullName), new CardListLine("Title:", PersonNameObject.GTitle), new CardListLine("FirstName:", PersonNameObject.GFirstName), new CardListLine("SurName:", PersonNameObject.GSurName.GetPrimarySurname), new CardListLine("Suffix:", PersonNameObject.GSuffix), new CardListLine("Alt:", PersonNameObject.GAlt.GetDefaultText), new CardListLine("Call:", PersonNameObject.GCall), new CardListLine("Date:", PersonNameObject.GDate.ShortDate), new CardListLine("Display:", PersonNameObject.GDisplay), new CardListLine("Family Nick:", PersonNameObject.GFamilyNick), new CardListLine("Group:", PersonNameObject.GGroup), new CardListLine("Nick:", PersonNameObject.GNick), new CardListLine("Priv:", PersonNameObject.GPriv), new CardListLine("Sort:", PersonNameObject.GSort) }; BaseDetail.Add(PersonNameCards); foreach (SurnameModel item in PersonNameObject.GSurName) { CardListLineCollection SurnameCard = new CardListLineCollection { new CardListLine("Prefix:", item.GPrefix), new CardListLine("Primary:", item.GPrim), new CardListLine("Derivation:", item.GDerivation), new CardListLine("Connector:", item.GConnector), }; BaseDetail.Add(SurnameCard); } BaseDetail.Add(PersonNameObject.GCitationRefCollection.GetCardGroup()); BaseDetail.Add(PersonNameObject.GNoteReferenceCollection.GetCardGroup()); BaseDetail.Add(PersonNameObject.BackHLinkReferenceCollection.GetCardGroup()); } return; }
/// <summary> /// Populates the view ViewModel. /// </summary> /// <returns> /// </returns> public override void PopulateViewModel() { BaseCL.LogRoutineEntry("PersonDetailViewModel"); PersonObject = DV.PersonDV.GetModelFromHLink(BaseNavParamsHLink); if (!(PersonObject is null)) { BaseTitle = PersonObject.GPersonNamesCollection.GetPrimaryName.DeRef.GetDefaultText; // Get media image HLinkMediaModel personImage = PersonObject.HomeImageHLink.ConvertToHLinkMediaModel(); Contract.Assert(PersonObject.HomeImageHLink != null, PersonObject.Id); personImage.CardType = DisplayFormat.MediaCardLarge; BaseDetail.Add(personImage); // Get Header Details CardGroup headerCardGroup = new CardGroup { Title = "Header Details" }; // Get the Person Details CardListLineCollection nameDetails = new CardListLineCollection { new CardListLine("Card Type:", "Person Detail"), }; headerCardGroup.Add(nameDetails); // Get the Name Details headerCardGroup.Add(PersonObject.GPersonNamesCollection.GetPrimaryName); // Get details on persons age etc headerCardGroup.Add(GetExtraPersonDetails()); // Get parent details headerCardGroup.Add( new ParentLinkModel { Parents = PersonObject.GChildOf.DeRef, }); // Add Standard details headerCardGroup.Add(DV.PersonDV.GetModelInfoFormatted(PersonObject)); BaseDetail.Add(headerCardGroup); // Get Bio HLinkNoteModel bioCard = PersonObject.GNoteRefCollection.GetBio; bioCard.CardType = DisplayFormat.NoteCardFull; BaseDetail.Add(bioCard); // Add PersonRefDetails if (BaseNavParamsHLink is HLinkPersonRefModel) { HLinkPersonRefModel personRef = (BaseNavParamsHLink as HLinkPersonRefModel); Contract.Assert(personRef != null); BaseDetail.Add(personRef.GCitationCollection.GetCardGroup("PersonRef Citations")); BaseDetail.Add(personRef.GNoteCollection.GetCardGroup("PersonRef Notes")); } // Add details BaseDetail.Add(PersonObject.GPersonNamesCollection.GetCardGroup()); BaseDetail.Add(PersonObject.GParentInRefCollection.GetCardGroup()); BaseDetail.Add(EventsIncFamily()); BaseDetail.Add(PersonObject.GCitationRefCollection.GetCardGroup()); BaseDetail.Add(PersonObject.GNoteRefCollection.GetCardGroupWithoutBio()); BaseDetail.Add(PersonObject.GMediaRefCollection.GetCardGroup()); BaseDetail.Add(PersonObject.GAttributeCollection); BaseDetail.Add(PersonObject.GAddress.GetCardGroup()); BaseDetail.Add(PersonObject.GTagRefCollection.GetCardGroup()); BaseDetail.Add(PersonObject.GURLCollection); BaseDetail.Add(PersonObject.GLDSCollection); BaseDetail.Add(PersonObject.GPersonRefCollection.GetCardGroup()); BaseDetail.Add(PersonObject.BackHLinkReferenceCollection.GetCardGroup()); _PlatformSpecific.ActivityTimeLineAdd(PersonObject); } return; }
/// <summary> /// Handles navigation in wards and sets up the event model parameter. /// </summary> /// <returns> /// </returns> public override void PopulateViewModel() { BaseCL.LogRoutineEntry("MediaDetailViewModel OnNavigatedTo"); CurrentHLinkMedia = BaseNavParamsHLink as HLinkMediaModel; if (!(CurrentHLinkMedia is null)) { CurrentMediaObject = DV.MediaDV.GetModelFromHLink(CurrentHLinkMedia); if (!(CurrentMediaObject is null)) { BaseTitle = CurrentMediaObject.GetDefaultText; BaseTitleIcon = CommonConstants.IconMedia; // Get basic details CardGroup t = new CardGroup { Title = "Header Details" }; t.Add(new CardListLineCollection { new CardListLine("Card Type:", "Media Detail"), new CardListLine("Date:", CurrentMediaObject.GDateValue.GetLongDateAsString), new CardListLine("File Description:", CurrentMediaObject.GDescription), new CardListLine("File Mime Type:", CurrentMediaObject.FileMimeType), new CardListLine("File Content Type:", CurrentMediaObject.FileContentType), new CardListLine("File Mime SubType:", CurrentMediaObject.FileMimeSubType), new CardListLine("OriginalFilePath:", CurrentMediaObject.OriginalFilePath), }); // Set up note re opening in photo app CardListLineCollection t1 = new CardListLineCollection { new CardListLine(string.Empty, "Note: Double click the image to open it.") }; t.Add(t1); // Add standard details t.Add(DV.MediaDV.GetModelInfoFormatted(CurrentMediaObject)); BaseDetail.Add(t); // Get media image HLinkHomeImageModel personImage = CurrentMediaObject.HomeImageHLink; Contract.Assert(CurrentMediaObject.HomeImageHLink != null, CurrentMediaObject.Id); personImage.CardType = DisplayFormat.MediaCardLarge; BaseDetail.Add(personImage); // Add HLink Details BaseDetail.Add(CurrentHLinkMedia.GAttributeRefCollection); BaseDetail.Add(CurrentHLinkMedia.GCitationRefCollection.GetCardGroup("HLink Citations")); BaseDetail.Add(CurrentHLinkMedia.GNoteRefCollection.GetCardGroup("HLink Notes")); // Add Model details BaseDetail.Add(CurrentMediaObject.GCitationRefCollection.GetCardGroup()); BaseDetail.Add(CurrentMediaObject.GNoteRefCollection.GetCardGroup()); BaseDetail.Add(CurrentMediaObject.GTagRefCollection.GetCardGroup()); BaseDetail.Add(CurrentMediaObject.BackHLinkReferenceCollection.GetCardGroup()); } BaseCL.LogRoutineExit("MediaDetailViewModel OnNavigatedTo"); } }