public async Task Update(CommandUdalostUpdate cmd) { var item = db.Udalosti.FirstOrDefault(u => u.UdalostId == cmd.UdalostId); if (item != null) { var ev = new EventUdalostUpdated() { EventId = Guid.NewGuid(), UdalostId = cmd.UdalostId, EventCreated = DateTime.Now, DatumOd = cmd.DatumOd, DatumDo = cmd.DatumDo, DatumZadal = cmd.DatumZadal, Nazev = cmd.Nazev, Popis = cmd.Popis, UdalostTypId = cmd.UdalostTypId, UzivatelCeleJmeno = cmd.UzivatelCeleJmeno, Generation = 0, }; item = Modify(ev, item); db.Udalosti.Add(item); await db.SaveChangesAsync(); ev.UdalostId = item.UdalostId; ev.Generation = ev.Generation + 1; await _handler.PublishEvent(ev, MessageType.UdalostUpdated, ev.EventId, null, ev.Generation, ev.UdalostId); } }
private Udalost Modify(EventUdalostUpdated evt, Udalost item) { item.DatumOd = evt.DatumOd; item.DatumDo = evt.DatumDo; item.DatumZadal = evt.EventCreated; item.UzivatelCeleJmeno = evt.UzivatelCeleJmeno; item.Nazev = evt.Nazev; item.Popis = evt.Popis; item.UdalostTypId = evt.UdalostTypId; item.UzivatelId = evt.UzivatelId; return(item); }