Beispiel #1
0
        private DatabaseModel.CoinFlip CreateCoinFlipMatch
        (
            bool isHead,
            DatabaseModel.User creatorUser,
            DatabaseModel.GameMode gameMode,
            MongoDbModels.PreHash preHash
        )
        {
            var percentage = preHash.Percentage;
            var salt       = preHash.Salt;
            var hash       = preHash.Hash;

            var roundId = _randomService.GenerateNewGuidAsString();

            var match = new DatabaseModel.CoinFlip
            {
                Created       = DateTime.Now,
                CreatorUserId = creatorUser.Id,
                CreatorIsHead = isHead,
                Hash          = hash,
                Percentage    = percentage,
                Salt          = salt,
                RoundId       = roundId,
                Status        = (int)MatchStatus.Open,
                WinnerId      = null,
                TimerStarted  = null,
                SettingId     = gameMode.CurrentSettingId,
                GameModeId    = gameMode.Id,
            };

            return(match);
        }
Beispiel #2
0
        public async Task <string> CreatePreHash(string steamId)
        {
            var percentage = _randomService.GeneratePercentage();
            var salt       = _randomService.GenerateSalt();
            var hash       = _hashService.CreateBase64Sha512Hash(percentage, salt);
            var preHash    = new MongoDbModels.PreHash
            {
                Created     = DateTime.Now,
                Hash        = hash,
                Percentage  = percentage,
                Salt        = salt,
                UserSteamId = steamId
            };

            await _preHashRepoService.Insert(preHash);

            return(preHash.Hash);
        }
 public async Task Insert(MongoDbModels.PreHash hash)
 {
     await GetCollection().InsertOneAsync(hash);
 }