Exemple #1
0
        /// <summary>
        /// Populates the view ViewModel.
        /// </summary>
        /// <returns>
        /// </returns>
        public override void HandleViewDataLoadEvent()
        {
            HLinkSourceModel HLinkObject = CommonRoutines.GetHLinkParameter <HLinkSourceModel>((BaseParamsHLink));

            // Cache the Source model
            SourceObject = HLinkObject.DeRef;

            if (!(SourceObject is null))
            {
                // Get basic details
                BaseModelBase = SourceObject;

                // MediaCard = SourceObject.ModelItemGlyph;

                // Header Card
                BaseDetail.Add(new CardListLineCollection("Source Detail")
                {
                    new CardListLine("Title:", SourceObject.GSTitle),
                    new CardListLine("Author:", SourceObject.GSAuthor),
                    new CardListLine("Pub Info:", SourceObject.GSPubInfo),
                    new CardListLine("Abbrev:", SourceObject.GSAbbrev),
                });

                // Add Model details
                BaseDetail.Add(DV.SourceDV.GetModelInfoFormatted(SourceObject));
            }
        }
        /// <summary>
        /// Handles navigation in wards and sets up the event model parameter.
        /// </summary>
        /// <param name="e">
        /// The <see cref="NavigatedToEventArgs"/> instance containing the event data.
        /// </param>
        /// <param name="viewModelState">
        /// The parameter is not used.
        /// </param>
        public override void PopulateViewModel()
        {
            // Handle HLinkKeys
            CitationObject = DV.CitationDV.GetModelFromHLinkString(BaseNavParamsHLink.HLinkKey);

            if (CitationObject != null)
            {
                BaseTitle     = CitationObject.GetDefaultText;
                BaseTitleIcon = CommonConstants.IconCitation;

                // Get media image
                HLinkHomeImageModel mediaImage = CitationObject.HomeImageHLink;
                mediaImage.CardType = DisplayFormat.MediaCardLarge;
                BaseDetail.Add(mediaImage);

                //// Get Note
                //CardGroup noteCardGroup = new CardGroup();
                //NoteCardFull noteCard = new NoteCardFull();
                //noteCard.BindingContext = CitationObject.GetFirstModel;
                //noteCardGroup.Add(noteCard);
                //BaseDetail.Add(noteCardGroup);

                // Get basic details
                CardGroup t = new CardGroup {
                    Title = "Header Details"
                };

                t.Add(new CardListLineCollection
                {
                    new CardListLine("Card Type:", "Citation Detail"),
                    new CardListLine("Date:", CitationObject.GDateContent.GetLongDateAsString),
                    new CardListLine("Page:", CitationObject.GPage),
                    new CardListLine("Confidence:", CitationObject.GConfidence.ToString(CultureInfo.CurrentCulture)),
                });

                t.Add(DV.CitationDV.GetModelInfoFormatted(CitationObject));

                BaseDetail.Add(t);

                // Add Source details
                HLinkSourceModel sourceCard = CitationObject.GSourceRef;
                sourceCard.CardType = DisplayFormat.SourceCardSmall;
                BaseDetail.Add(sourceCard);

                // If only one note (the most common case) just display it in a large format,
                // otherwise setup a list of them.
                if (CitationObject.GNoteRefCollection.Count > 0)
                {
                    // TODO Fix this NoteObject = CitationObject.GNoteRefCollection[0].DeRef;
                }

                // Add remaining details
                BaseDetail.Add(CitationObject.GMediaRefCollection.GetCardGroup());
                BaseDetail.Add(CitationObject.GNoteRefCollection.GetCardGroup());
                BaseDetail.Add(CitationObject.GTagRef.GetCardGroup());
                BaseDetail.Add(CitationObject.GSourceAttributeCollection);

                BaseDetail.Add(CitationObject.BackHLinkReferenceCollection.GetCardGroup());
            }
        }
        private static async Task <bool> OrganiseSourceRepository()
        {
            await DataStore.CN.MajorStatusAdd("Organising Source data").ConfigureAwait(false);

            foreach (SourceModel theSourceModel in DV.SourceDV.DataViewData)
            {
                HLinkSourceModel t = theSourceModel.HLink;

                try
                {
                    // -- Organse Back Links ---------------------

                    // Source Attribute Collection is model so no backlink

                    //// Media Collection

                    foreach (HLinkMediaModel mediaRef in theSourceModel.GMediaRefCollection)
                    {
                        DataStore.DS.MediaData[mediaRef.HLinkKey].BackHLinkReferenceCollection.Add(new HLinkBackLink(t));
                    }

                    // Note Collection
                    foreach (IHLinkNoteModel noteRef in theSourceModel.GNoteRefCollection)
                    {
                        DataStore.DS.NoteData[noteRef.HLinkKey].BackHLinkReferenceCollection.Add(new HLinkBackLink(t));
                    }

                    // Repository Collection
                    foreach (HLinkRepositoryModel repositoryRef in theSourceModel.GRepositoryRefCollection)
                    {
                        DataStore.DS.RepositoryData[repositoryRef.HLinkKey].BackHLinkReferenceCollection.Add(new HLinkBackLink(t));
                    }

                    // Tag Collection
                    foreach (HLinkTagModel tagRef in theSourceModel.GTagRefCollection)
                    {
                        DataStore.DS.TagData[tagRef.HLinkKey].BackHLinkReferenceCollection.Add(new HLinkBackLink(t));
                    }
                }
                catch (Exception ex)
                {
                    DataStore.CN.NotifyException("OrganiseSourceRepository", ex);
                    throw;
                }
            }

            return(true);
        }
Exemple #4
0
        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());
        }
Exemple #5
0
        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());
        }