public async Task Update(CommandAktivitaUpdate cmd) { var item = db.Aktivity.FirstOrDefault(u => u.AktivitaId == cmd.AktivitaId); if (item != null) { var ev = new EventAktivitaUpdated() { EventId = Guid.NewGuid(), AktivitaId = cmd.AktivitaId, EventCreated = DateTime.Now, DatumOd = cmd.DatumOd, DatumDo = cmd.DatumDo, DatumZadal = cmd.DatumZadal, Nazev = cmd.Nazev, Popis = cmd.Popis, AktivitaTypId = cmd.AktivitaTypId, UzivatelCeleJmeno = cmd.UzivatelCeleJmeno, Generation = 0, }; item = Modify(ev, item); db.Aktivity.Add(item); await db.SaveChangesAsync(); ev.AktivitaId = item.AktivitaId; ev.Generation = ev.Generation + 1; await _handler.PublishEvent(ev, MessageType.AktivitaUpdated, ev.EventId, null, ev.Generation, ev.AktivitaId); } }
public async Task UpdateByAktivita(EventAktivitaUpdated evt) { var interval = (evt.DatumDo - evt.DatumOd).TotalDays; var _tmpYear = evt.DatumOd.Year; var item = db.Kalendare.FirstOrDefault(k => k.UzivatelId == evt.UzivatelId && k.Rok == _tmpYear); if (item != null) { var kalendar = JsonConvert.DeserializeObject <Year>(item.Body); for (int i = 0; i <= interval; i++) { var focus = evt.DatumOd.AddDays(i); if (_tmpYear != focus.Year) { _tmpYear = focus.Year; item = db.Kalendare.FirstOrDefault(k => k.UzivatelId == evt.UzivatelId && k.Rok == _tmpYear); kalendar = JsonConvert.DeserializeObject <Year>(item.Body); } var mesic = kalendar.Months[focus.Month - 1]; var den = mesic.Days[focus.Day - 1]; var polozka = den.Polozky.Where(p => p.Id == evt.AktivitaId).FirstOrDefault(); if (polozka != null) { polozka.Id = evt.AktivitaId; polozka.DatumDo = evt.DatumOd; polozka.AktivitaTypId = evt.AktivitaTypId; polozka.DatumOd = evt.DatumDo; polozka.Nazev = evt.Nazev; polozka.UzivatelId = evt.UzivatelId; polozka.CeleJmeno = evt.UzivatelCeleJmeno; var result = JsonConvert.SerializeObject(kalendar); item.DatumAktualizace = evt.EventCreated; item.Body = result; item.EventGuid = evt.EventId; item.Generation = evt.Generation; db.Kalendare.Update(item); await db.SaveChangesAsync(); var ev = new EventKalendarUpdated() { CeleJmeno = item.UzivatelCeleJmeno, EventCreated = DateTime.Now, EventId = Guid.NewGuid(), Generation = item.Generation + 1, SourceGuid = evt.EventId, UzivatelId = evt.UzivatelId, Body = item.Body, }; await _handler.PublishEvent(ev, MessageType.KalendarUpdated, ev.EventId, null, ev.Generation, item.KalendarId); await db.SaveChangesAsync(); } } } }
private Aktivita Modify(EventAktivitaUpdated evt, Aktivita 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.AktivitaTypId = evt.AktivitaTypId; item.UzivatelId = evt.UzivatelId; return(item); }
public async Task UpdateByAktivita(EventAktivitaUpdated evt) { await db.SaveChangesAsync(); }
private void UpdateByAktivita(EventAktivitaUpdated evt) { _repository.UpdateByAktivita(evt); }