Esempio n. 1
0
        public void Handle(TagChangedEvent evnt)
        {
            var key = KeyUtils.GetStateKey(evnt.AggregateId);

            var state = _db.GetObject <BlogState>(key);

            if (state == null)
            {
                throw new Exception("Blog has to be started first.");
            }

            var tags = state
                       .Posts
                       .SelectMany(_ => _.Tags)
                       .Where(_ => _.TagUrl == evnt.Url)
                       .ToList();

            foreach (var tag in tags)
            {
                tag.TagTitle = evnt.Title;
                tag.TagUrl   = evnt.Url;
            }

            _db.SetObject(key, state);
        }
Esempio n. 2
0
        public void Apply(TagChangedEvent evnt)
        {
            var tag = _tags.FirstOrDefault(_ => string.Equals(_.Url, evnt.Url));

            tag.Title = evnt.Title;
        }