private Pravo Modify(EventOpravneniUpdated evt, Pravo item) { item.EventGuid = evt.EventId; item.Value1 = evt.OpravneniValue1; item.Value2 = evt.OpravneniValue2; return(item); }
public async Task Update(CommandOpravneniUpdate cmd) { var item = db.Opravneni.FirstOrDefault(u => u.PravoId == cmd.OpravneniId); if (item != null) { var ev = new EventOpravneniUpdated() { EventId = Guid.NewGuid(), OpravneniValue1 = cmd.OpravneniValue1, OpravneniValue2 = cmd.OpravneniValue2, }; ev.Generation = item.Generation + 1; item = Modify(ev, item); await _handler.PublishEvent(ev, MessageType.OpravneniUpdated, ev.EventId, item.EventGuid, ev.Generation, cmd.OpravneniId); db.Opravneni.Update(item); await db.SaveChangesAsync(); } }