예제 #1
0
        private int FixupTagMapValidity()
        {
            var fixupCount = 0;

            for (var n = TagMaps.Count - 1; n >= 0; --n)
            {
                var tagMap = TagMaps[n];

                if (tagMap.NoteId != null &&
                    (FindTag(tagMap.TagId) == null || FindNote(tagMap.NoteId.Value) == null))
                {
                    ++fixupCount;
                    TagMaps.RemoveAt(n);

                    Log.Logger.Error($"Removed invalid tag map {tagMap.TagMapId}");
                }
                else if (tagMap.LocationId != null && FindLocation(tagMap.LocationId.Value) == null)
                {
                    ++fixupCount;
                    TagMaps.RemoveAt(n);

                    Log.Logger.Error($"Removed invalid tag map {tagMap.TagMapId} (missing LocationId)");
                }
            }

            return(fixupCount);
        }
예제 #2
0
        private int FixupTagMapValidity()
        {
            var fixupCount = 0;

            for (var n = TagMaps.Count - 1; n >= 0; --n)
            {
                var tagMap = TagMaps[n];

                if (tagMap.Type == 1 &&
                    (FindTag(tagMap.TagId) == null || FindNote(tagMap.TypeId) == null))
                {
                    ++fixupCount;
                    TagMaps.RemoveAt(n);

                    Log.Logger.Error($"Removed invalid tag map {tagMap.TagMapId}");
                }
            }

            return(fixupCount);
        }