//Description: Přidání uživatele, příkaz public async Task Add(CommandUzivatelCreate cmd) { //Description: Zpracování události na základě obdrženého příkazu var ev = new EventUzivatelCreated() { EventId = Guid.NewGuid(), UzivatelId = Guid.NewGuid(), EventCreated = DateTime.Now, ImportedId = cmd.ImportedId, TitulPred = cmd.TitulPred, Jmeno = cmd.Jmeno, Prijmeni = cmd.Prijmeni, TitulZa = cmd.TitulZa, Pohlavi = cmd.Pohlavi, DatumNarozeni = cmd.DatumNarozeni, Email = cmd.Email, Telefon = cmd.Telefon, Generation = 0, }; //Description: Vytvoření uživatele var item = Create(ev); //Description: Přidání uživatele db.Uzivatele.Add(item); //Description: Uložení uživatele await db.SaveChangesAsync(); //Description: Přidání Id uživatele do události ev.UzivatelId = item.UzivatelId; //Description: Přidání generace záznamu do události, zvýšení o stupeň //Description: Záznam v DB bude uveden do generace eventu po jeho zpětné konzumaci ev.Generation += 1; //Description: Publikace události o vytvoření uživatele await _handler.PublishEvent(ev, MessageType.UzivatelCreated, ev.EventId, null, ev.Generation, ev.UzivatelId); }
//Description: Reakce na událost vytvoření uživatele public async Task CreateByUzivatel(EventUzivatelCreated evt) { //Description: Pokus o vyhledání existujícího kalendáře var item = db.Kalendare.Where(k => k.UzivatelId == evt.UzivatelId && k.Rok == evt.EventCreated.Year).FirstOrDefault(); //Description: Kalendář není nalezen if (item == null) { //Description: Vytvoření nového kalendáře item = await Create(evt); db.Kalendare.Add(item); await db.SaveChangesAsync(); //Description: Publikace události o tom, že byl kalendář vytvořen var ev = new EventKalendarCreated() { CeleJmeno = $"{evt.Prijmeni} {evt.Jmeno}", EventCreated = DateTime.Now, EventId = Guid.NewGuid(), Generation = 0, Rok = evt.EventCreated.Year, SourceGuid = evt.EventId, UzivatelId = evt.UzivatelId, }; await _handler.PublishEvent(ev, MessageType.KalendarCreated, ev.EventId, null, ev.Generation, item.KalendarId); } }
public async Task CreateByUzivatel(EventUzivatelCreated evt) { var kalendar = db.Pritomnosti.Where(k => k.UzivatelId == evt.UzivatelId).FirstOrDefault(); if (kalendar == null) { kalendar = Create(evt); db.Pritomnosti.Add(kalendar); await db.SaveChangesAsync(); } }
#pragma warning disable CS1998 // This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread. private Pritomnost Create(EventUzivatelCreated evt) #pragma warning restore CS1998 // This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread. { var model = new Pritomnost() { PritomnostId = Guid.NewGuid(), UzivatelId = evt.UzivatelId, Generation = evt.Generation, EventGuid = evt.EventId, UzivatelCeleJmeno = $"{evt.Prijmeni} {evt.Jmeno}", }; return(model); }
private async Task <Kalendar> Create(EventUzivatelCreated evt) { var body = JsonConvert.SerializeObject(await new KalendarGenerator().KalendarNew()); var model = new Kalendar() { KalendarId = Guid.NewGuid(), UzivatelId = evt.UzivatelId, Rok = evt.EventCreated.Year, Generation = evt.Generation, EventGuid = evt.EventId, UzivatelCeleJmeno = $"{evt.Prijmeni} {evt.Jmeno}", Body = body, DatumAktualizace = DateTime.Now }; return(model); }
//Description: pomocná metoda na vytvoření záznamu na základě události private Uzivatel Create(EventUzivatelCreated evt) { var model = new Uzivatel() { ImportedId = evt.ImportedId, UzivatelId = evt.UzivatelId, TitulPred = evt.TitulPred, Jmeno = evt.Jmeno, Prijmeni = evt.Prijmeni, TitulZa = evt.TitulZa, Pohlavi = evt.Pohlavi, DatumNarozeni = evt.DatumNarozeni, Email = evt.Email, Telefon = evt.Telefon, Generation = evt.Generation, EventGuid = evt.EventId }; return(model); }
public async Task Add(string uzivatele) { var ev = new EventUzivatelCreated() { EventId = Guid.NewGuid(), UzivatelId = Guid.NewGuid(), EventCreated = DateTime.Now, ImportedId = string.Empty, TitulPred = "tit", Jmeno = "Jmeno", Prijmeni = "Prijmeni", TitulZa = "tit za", Pohlavi = "muž", DatumNarozeni = DateTime.Now, Email = "*****@*****.**", Telefon = "123456", Generation = 0, }; await _handler.PublishEvent(ev, MessageType.UzivatelCreated, ev.EventId, null, ev.Generation, ev.UzivatelId); }
private void CreateByUzivatel(EventUzivatelCreated evt) { _repository.CreateByUzivatel(evt); }
public Task CreateByUzivatel(EventUzivatelCreated evt) { return(null); }