/// <summary> /// Gets the note collection. /// </summary> /// <param name="xmlData"> /// The XML data. /// </param> /// <returns> /// </returns> private HLinkNoteModelCollection GetNoteCollection(XElement xmlData) { HLinkNoteModelCollection t = new HLinkNoteModelCollection(); // Load NoteRefs var localNoteElement = from ElementEl in xmlData.Elements(ns + "noteref") select ElementEl; if (localNoteElement.Any()) { // load note references foreach (XElement loadNoteElement in localNoteElement) { HLinkNoteModel noteHLink = new HLinkNoteModel { // object details HLinkKey = GetAttribute(loadNoteElement.Attribute("hlink")), }; // save the object t.Add(noteHLink); } } // Return sorted by the default text t.SortAndSetFirst(); return(t); }
/// <summary> /// Populates the view ViewModel. /// </summary> public override void PopulateViewModel() { HLinkNoteModel HLinkObject = BaseNavParamsHLink as HLinkNoteModel; if (!(HLinkObject is null) && (HLinkObject.Valid)) { NoteObject = HLinkObject.DeRef; // Trigger refresh of View fields via INotifyPropertyChanged RaisePropertyChanged(string.Empty); BaseTitle = NoteObject.GetDefaultText; // Get basic details // CardGroup basicHeaderDetails = new CardGroup { Title = "Header Details" }; BaseDetail.Add(new CardListLineCollection { new CardListLine("Card Type:", "Note Detail"), new CardListLine("Type:", NoteObject.GType), new CardListLine("Formatted:", NoteObject.GIsFormated), }); // Add Model details BaseDetail.Add(DV.NoteDV.GetModelInfoFormatted((NoteModel)NoteObject)); //BaseDetail.Add(basicHeaderDetails); } }
/// <summary> /// Populates the view ViewModel. /// </summary> public override void HandleViewDataLoadEvent() { HLinkNoteModel HLinkObject = CommonRoutines.GetHLinkParameter <HLinkNoteModel>((BaseParamsHLink)); if (!(HLinkObject is null) && HLinkObject.Valid) { NoteObject = HLinkObject.DeRef; BaseModelBase = NoteObject; // Get basic details BaseDetail.Add(new CardListLineCollection("Note Detail") { new CardListLine("Type:", NoteObject.GType), new CardListLine("Formatted:", NoteObject.GIsFormated), }); // Add Model details BaseDetail.Add(DV.NoteDV.GetModelInfoFormatted((NoteModel)NoteObject)); // Handle Link Note types if (NoteObject.GType == Constants.NoteTypeLink) { URLModel newLinkURL = new URLModel { GDescription = NoteObject.ToString(), GHRef = new Uri(NoteObject.TextShort) }; BaseDetail.Add(newLinkURL); } } }
private void PersonCardSmallRoot_BindingContextChanged(object sender, System.EventArgs e) { NoteCardFull card = (sender as NoteCardFull); if (card is null) { this.IsVisible = false; return; } Contract.Requires(BindingContext is HLinkNoteModel); HLinkNoteModel t = this.BindingContext as HLinkNoteModel; if (t is null) { this.IsVisible = false; return; } if (t.Valid) { this.IsVisible = true; } else { this.IsVisible = false; } }
/// <summary> /// Gets the note collection. /// </summary> /// <param name="xmlData"> /// The XML data. /// </param> /// <returns> /// </returns> private HLinkNoteModelCollection GetNoteCollection(XElement xmlData) { HLinkNoteModelCollection t = new HLinkNoteModelCollection { Title = "Note Collection" }; // Load NoteRefs var localNoteElement = from ElementEl in xmlData.Elements(ns + "noteref") select ElementEl; if (localNoteElement.Any()) { // load note references foreach (XElement loadNoteElement in localNoteElement) { HLinkNoteModel noteHLink = new HLinkNoteModel { HLinkKey = GetHLinkKey(loadNoteElement), }; t.Add(noteHLink); } } // Return sorted by the default text t.SortAndSetFirst(); return(t); }
/// <summary> /// Organises the note repository. /// </summary> private static async Task <bool> OrganiseNoteRepository() { await DataStore.CN.MajorStatusAdd("Organising Note data").ConfigureAwait(false); foreach (NoteModel theNoteModel in DV.NoteDV.DataViewData) { HLinkNoteModel t = theNoteModel.HLink; // -- Organse Back Links --------------------- // TODO Citation Collection foreach (HLinkTagModel tagnRef in theNoteModel.GTagRefCollection) { DataStore.DS.TagData[tagnRef.HLinkKey].BackHLinkReferenceCollection.Add(new HLinkBackLink(t)); } } return(true); }
public void ModelPerson_Notes() { DataStoreUtility.DataStoreSetup(); DataStoreUtility.LoadTestFile(); PersonModel tt = DV.PersonDV.GetModelFromId("I0003"); Assert.True(tt.Valid, "Invalid person"); Assert.True(tt.GNoteRefCollection.Count == 2, "Wrong notes count"); HLinkNoteModel noteModel = tt.GNoteRefCollection.GetFirstOfType(Common.Constants.NoteTypeBiography); Assert.True(noteModel.DeRef.Id == "N0000", "Wrong Person Model Notes Bio found"); Assert.True(noteModel.DeRef.GType == Common.Constants.NoteTypeBiography, "Wrong Person Model Notes Type found"); Assert.True(noteModel.DeRef.GStyledText.GText == "Biography Note.\n", "Wrong Person Model Notes Text found"); }
/// <summary> /// Populates the view ViewModel. /// </summary> public override void PopulateViewModel() { HLinkNoteModel HLinkObject = BaseNavParamsHLink as HLinkNoteModel; if (!(HLinkObject is null) && (HLinkObject.Valid)) { NoteObject = HLinkObject.DeRef; BaseTitle = NoteObject.GetDefaultText; // Get basic details CardGroup basicHeaderDetails = new CardGroup { Title = "Header Details" }; basicHeaderDetails.Add(new CardListLineCollection { new CardListLine("Card Type:", "Note Detail"), new CardListLine("Type:", NoteObject.GType), new CardListLine("Formatted:", NoteObject.GIsFormated), }); // Add Model details basicHeaderDetails.Add(DV.NoteDV.GetModelInfoFormatted((NoteModel)NoteObject)); BaseDetail.Add(basicHeaderDetails); // Get Bio HLinkNoteModel noteCard = NoteObject.HLink; noteCard.CardType = DisplayFormat.NoteCardFull; BaseDetail.Add(noteCard); BaseDetail.Add(NoteObject.GTagRefCollection.GetCardGroup()); BaseDetail.Add(NoteObject.BackHLinkReferenceCollection.GetCardGroup()); } }
public HLinkBackLink SetBookMarkTarget(string argGTarget, string argGHlink) { switch (argGTarget) { case "person": { HLinkPersonModel p1 = new HLinkPersonModel { HLinkKey = argGHlink }; return(new HLinkBackLink(p1)); } case "family": { HLinkFamilyModel p1 = new HLinkFamilyModel { HLinkKey = argGHlink }; return(new HLinkBackLink(p1)); } case "event": { HLinkEventModel p1 = new HLinkEventModel { HLinkKey = argGHlink }; return(new HLinkBackLink(p1)); } case "source": { HLinkSourceModel p1 = new HLinkSourceModel { HLinkKey = argGHlink }; return(new HLinkBackLink(p1)); } case "citation": { HLinkCitationModel p1 = new HLinkCitationModel { HLinkKey = argGHlink }; return(new HLinkBackLink(p1)); } case "place": { HLinkPlaceModel p1 = new HLinkPlaceModel { HLinkKey = argGHlink }; return(new HLinkBackLink(p1)); } case "media": { HLinkMediaModel p1 = new HLinkMediaModel { HLinkKey = argGHlink }; return(new HLinkBackLink(p1)); } case "repository": { HLinkRepositoryModel p1 = new HLinkRepositoryModel { HLinkKey = argGHlink }; return(new HLinkBackLink(p1)); } case "note": { HLinkNoteModel p1 = new HLinkNoteModel { HLinkKey = argGHlink }; return(new HLinkBackLink(p1)); } } return(new HLinkBackLink()); }
/// <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; }
public SearcHandlerItem(HLinkNoteModel argHLinkNoteModel) { baseBackLink = new HLinkBackLink(argHLinkNoteModel); }
/// <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; }
public static HLinkBackLink SetBookMarkTarget(string argGTarget, HLinkKey argHLinkKey) { switch (argGTarget) { case "person": { HLinkPersonModel p1 = DV.PersonDV.GetModelFromHLinkKey(argHLinkKey).HLink; return(new HLinkBackLink(p1)); } case "family": { HLinkFamilyModel p1 = DV.FamilyDV.GetModelFromHLinkKey(argHLinkKey).HLink; return(new HLinkBackLink(p1)); } case "event": { HLinkEventModel p1 = DV.EventDV.GetModelFromHLinkKey(argHLinkKey).HLink; return(new HLinkBackLink(p1)); } case "source": { HLinkSourceModel p1 = DV.SourceDV.GetModelFromHLinkKey(argHLinkKey).HLink; return(new HLinkBackLink(p1)); } case "citation": { HLinkCitationModel p1 = DV.CitationDV.GetModelFromHLinkKey(argHLinkKey).HLink; return(new HLinkBackLink(p1)); } case "place": { HLinkPlaceModel p1 = DV.PlaceDV.GetModelFromHLinkKey(argHLinkKey).HLink; return(new HLinkBackLink(p1)); } case "media": { HLinkMediaModel p1 = DV.MediaDV.GetModelFromHLinkKey(argHLinkKey).HLink; return(new HLinkBackLink(p1)); } case "repository": { HLinkRepositoryModel p1 = DV.RepositoryDV.GetModelFromHLinkKey(argHLinkKey).HLink; return(new HLinkBackLink(p1)); } case "note": { HLinkNoteModel p1 = DV.NoteDV.GetModelFromHLinkKey(argHLinkKey).HLink; return(new HLinkBackLink(p1)); } } return(new HLinkBackLink()); }
/// <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); }