public async Task <Challenge> CreateChallenge(Guid challengeId, Question question, Answer answer, Identifier identifier) { Challenge challenge = new Challenge { Id = challengeId, Identifier = identifier, Team = null, Question = JsonConvert.SerializeObject(question), Answer = JsonConvert.SerializeObject(answer) }; await _dbContext.Challenges.AddAsync(challenge); await _dbContext.SaveChangesAsync(); return(challenge); }
public async Task <History> Pop() { var history = await _dbContext.History.OrderBy(x => x.SysId).FirstOrDefaultAsync(); Status?status = history?.Status; if (history != null) { _dbContext.History.Remove(history); } await _dbContext.SaveChangesAsync(); return(new History { Status = status }); }
public async Task <Team> CreateTeam(string name, string secret) { Guid id = Guid.NewGuid(); Team team = new Team { Id = id, Name = name, HashedSecret = secret.Md5Hash(), Identification = $"{id}".Base64Encode() }; await _dbContext.Teams.AddAsync(team); await _dbContext.SaveChangesAsync(); return(team); }
public async Task <Image> StoreImage(Byte[] binaryImage) { var checksum = CalculateChecksum(binaryImage); var existingImage = await _dbContext.Images.SingleOrDefaultAsync(x => x.Checksum == checksum); if (existingImage != null) { return(existingImage); } var image = new Image { Id = Guid.NewGuid(), Data = binaryImage, Checksum = checksum }; await _dbContext.Images.AddAsync(image); await _dbContext.SaveChangesAsync(); return(image); }