Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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();
                }
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 public async Task CreateByAktivita(EventAktivitaCreated evt)
 {
     await db.SaveChangesAsync();
 }
Esempio n. 5
0
 private void CreateByAktivita(EventAktivitaCreated evt)
 {
     _repository.CreateByAktivita(evt);
 }