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