protected virtual async Task Process <TEvent>(TEvent @event, string id) { var viewModel = await repository.GetById(id) ?? new DocumentBase <T>(); Map(@event, viewModel.VM); await repository.Upsert(id, viewModel); }
public async Task Consume(ConsumeContext <EventTitleUpdated> context) { var message = context.Message; var id = message.EventId.ToString(); var eventDoc = await repository.GetById(id); var eventVm = eventDoc.VM; eventVm.Title = message.Title; await repository.Upsert(id, eventDoc); }