Exemple #1
0
        public void SubmitResponseSetItem(string responseSetKey, DistillationResponseItemDto responseItemIM)
        {
            Contract.Requires <ArgumentNullException>(responseItemIM != null, nameof(responseItemIM));
            Contract.Requires <ArgumentException>(!String.IsNullOrWhiteSpace(responseSetKey), nameof(responseSetKey));
            Contract.Requires <ArgumentException>(responseItemIM.ResponseValue != null, nameof(responseItemIM.ResponseValue));

            DistillationResponseSet responseSet = GetOrCreateResponseSet(responseSetKey);

            var responseItem = responseSet.Items.SingleOrDefault(i => i.DistillationItemId == responseItemIM.DistillationItemId);

            if (responseItem == null)
            {
                responseItem = new DistillationResponseItem()
                {
                    ResponseSet        = responseSet,
                    DistillationItemId = responseItemIM.DistillationItemId
                };
                unitOfWork.AddForInsert(responseItem);
            }
            else
            {
                unitOfWork.AddForUpdate(responseItem);
            }

            responseItem.ResponseValue = responseItemIM.ResponseValue.Value;

            unitOfWork.Commit();
        }
        public async Task <IdentityResult> CreateAsync(User user, CancellationToken cancellationToken)
        {
            Contract.Requires <ArgumentNullException>(user != null, nameof(user));
            cancellationToken.ThrowIfCancellationRequested();

            unitOfWork.AddForInsert(user);
            await unitOfWork.CommitAsync();

            return(IdentityResult.Success);
        }
Exemple #3
0
        public async Task VlozOsobu(OsobaInputDto osobaInputDto)
        {
            Osoba osoba = new Osoba
            {
                Jmeno    = osobaInputDto.Jmeno,
                Prijmeni = osobaInputDto.Prijmeni,
                Email    = osobaInputDto.Email
            };

            unitOfWork.AddForInsert(osoba);
            await unitOfWork.CommitAsync();
        }
        public async Task InsertNewPlayerAsync(PlayerVM player)
        {
            var ip = GetIpAddressFromHttpRequest(httpContextAccessor.HttpContext.Request);

            unitOfWork.AddForInsert(new Player
            {
                Name     = player.Name,
                Password = player.Password,
                League   = player.League,
                FileGuid = player.FileGuid,
                Created  = player.Created,
                IP       = ip
            });
            await unitOfWork.CommitAsync();
        }
        public async Task VlozVzkaz(VzkazInputDto vzkazInputDto)
        {
            Osoba autor = await osobaRepository.GetObjectAsync(vzkazInputDto.AutorId);

            autor.ThrowIfDeleted();
            autor.ThrowIfNotAktivni();

            Vzkaz vzkaz = new Vzkaz
            {
                AutorId      = vzkazInputDto.AutorId,
                Zprava       = vzkazInputDto.Zprava,
                DatumVlozeni = timeService.GetCurrentTime()
            };

            unitOfWork.AddForInsert(vzkaz);
            await unitOfWork.CommitAsync();
        }
        public async Task Prihlasit(int terminId, int osobaId)
        {
            // TODO: lock (_lock)
            {
                if (await prihlaskaRepository.GetPrihlaska(terminId, osobaId) == null)
                {
                    Prihlaska prihlaska = new Prihlaska
                    {
                        TerminId        = terminId,
                        OsobaId         = osobaId,
                        DatumPrihlaseni = timeService.GetCurrentTime(),
                    };

                    unitOfWork.AddForInsert(prihlaska);
                    await unitOfWork.CommitAsync();
                }
            }
        }
        public void EnsureTerminy()
        {
            lock (typeof(EnsureTerminyService))
            {
                int budouciTerminyPocet = terminDataSource.Data.Where(termin => termin.Datum.Date >= timeService.GetCurrentDate()).Count();

                if (budouciTerminyPocet < 3)
                {
                    DateTime posledniDatum = terminDataSource.DataIncludingDeleted.OrderByDescending(item => item.Datum).Select(item => item.Datum).FirstOrDefault();

                    DateTime datum;
                    if (posledniDatum == default(DateTime))
                    {
                        // pokud není žádné datum, vezmeme první úterý ode dneška
                        datum = timeService.GetCurrentDate();
                        while (datum.DayOfWeek != DayOfWeek.Tuesday)
                        {
                            datum = datum.AddDays(1);
                        }
                    }
                    else
                    {
                        // pokud již nějaké datum máme, přidáme vezmeme stejný den následující týden
                        datum = posledniDatum.AddDays(7);

                        while (datum < timeService.GetCurrentDate())              // pokud by to náhodou bylo v minulosti, což se nečeká, posuneme se do budoucnosti
                        {
                            datum = datum.AddDays(7);                             // k tomuto snad nikdy nedojde
                        }
                    }

                    for (int i = budouciTerminyPocet; i < 3; i++)
                    {
                        Termin termin = new Termin {
                            Datum = datum
                        };
                        unitOfWork.AddForInsert(termin);
                        datum = datum.AddDays(7);
                    }

                    unitOfWork.Commit();
                }
            }
        }
        public async Task InsertNewTournamentAsync(League league, List <Game> games)
        {
            var tournament = new Tournament
            {
                League = league
            };

            foreach (var game in games)
            {
                tournament.Games.Add(new DataLayer.Model.Game
                {
                    Player1Id       = game.Player1Id,
                    Player2Id       = game.Player2Id,
                    RoundsCount     = game.RoundsCount,
                    WhichPlayerWins = game.WhichPlayerWins,
                    ErrorMessage    = game.ErrorMessage
                });
            }

            unitOfWork.AddForInsert(tournament);
            await unitOfWork.CommitAsync();
        }