public void Consume(MessageEdited message) { Trace.TraceInformation("DENORMALIZING MESSAGE EDITED EVENT {0}[{1}]...", message.Message, message.Id); MyMessageContext context = contextFactory(); storage.UpdateEntity <MessageView>(message.Id, v => { v.Context = context; v.Message = message.Message; v.UtcLastModified = message.UtcEdited; }); storage.UpdateSingleton <MessageIndex>(i => { i.Messages[message.Id] = message.Message; }); }
public void Consume(MessageCreated message) { Trace.TraceInformation("DENORMALIZING MESSAGE CREATED EVENT {0}[{1}]...", message.Message, message.Id); MyMessageContext context = contextFactory(); var entity = new MessageView { Context = context, Message = message.Message, UtcCreated = message.UtcCreated }; storage.AddOrUpdateEntity(message.Id, entity); storage.AddOrUpdateSingleton(() => { var index = new MessageIndex(); index.Messages.Add(message.Id, message.Message); return(index); }, i => i.Messages[message.Id] = message.Message); }