public async Task Add(CommandAktivitaCreate cmd) { var ev = new EventAktivitaCreated() { EventId = Guid.NewGuid(), AktivitaId = Guid.NewGuid(), 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, }; var item = Create(ev); db.Aktivity.Add(item); await db.SaveChangesAsync(); ev.AktivitaId = item.AktivitaId; ev.Generation = ev.Generation + 1; await _handler.PublishEvent(ev, MessageType.AktivitaCreated, ev.EventId, null, ev.Generation, ev.AktivitaId); }
public async Task CreateByAktivita(EventAktivitaCreated 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); 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]; if (!den.Polozky.Where(p => p.Id == evt.AktivitaId).Any()) { var polozka = new Polozka() { Id = evt.AktivitaId, DatumDo = evt.DatumOd, AktivitaTypId = evt.AktivitaTypId, DatumOd = evt.DatumDo, Nazev = evt.Nazev, UzivatelId = evt.UzivatelId, CeleJmeno = evt.UzivatelCeleJmeno }; den.Polozky.Add(polozka); var result = JsonConvert.SerializeObject(kalendar); item.DatumAktualizace = evt.EventCreated; item.Body = result; item.EventGuid = evt.EventId; item.Generation = evt.Generation; db.Kalendare.Update(item); 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 Create(EventAktivitaCreated evt) { var model = new Aktivita() { AktivitaId = Guid.NewGuid(), DatumOd = evt.DatumOd, DatumDo = evt.DatumDo, DatumZadal = evt.EventCreated, UzivatelCeleJmeno = evt.UzivatelCeleJmeno, Nazev = evt.Nazev, Popis = evt.Popis, AktivitaTypId = evt.AktivitaTypId, UzivatelId = evt.UzivatelId, }; return(model); }
public async Task CreateByAktivita(EventAktivitaCreated evt) { await db.SaveChangesAsync(); }
private void CreateByAktivita(EventAktivitaCreated evt) { _repository.CreateByAktivita(evt); }