Esempio n. 1
0
        //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);
        }
Esempio n. 2
0
        //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);
            }
        }
Esempio n. 3
0
        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();
            }
        }
Esempio n. 4
0
#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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        //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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
 private void CreateByUzivatel(EventUzivatelCreated evt)
 {
     _repository.CreateByUzivatel(evt);
 }
Esempio n. 9
0
 public Task CreateByUzivatel(EventUzivatelCreated evt)
 {
     return(null);
 }