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); }
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); }