Exemple #1
0
            public override void AddTag(TagBase tag)
            {
                IAddableTag addableTag = tag as IAddableTag;

                if (addableTag == null)
                {
                    throw new InvalidRulesException($"Tried to sum non-addable tag '{tag.RenderForLog()}' on '{Owner.RenderForLog()}'.");
                }

                foreach (IAddableTag that in Tags.Where(x => x.Key == tag.Key).OfType <IAddableTag>())
                {
                    addableTag = addableTag.AddTag(that);
                }

                Tags.RemoveAll(x => x.Key == tag.Key);
                Tags.Add((TagBase)addableTag);
            }