//[ProducesResponseType((int)HttpStatusCode.Created, Type = typeof(CreatedAtActionResult))] //[SwaggerOperation("Post")] public async Task <IActionResult> UpdateScore([FromBody] UpdateScoreRequest request) { if (!ModelState.IsValid) { return(await Task.FromResult(BadRequest(ModelState))); } var score = await this.ScoreDbRepository.GetScore(request.Score.UserId).ConfigureAwait(false); var scoreDto = this.Mapper.Map <ScoreDto>(score); if (scoreDto != null && scoreDto.Score > request.Score.Score) { return(await Task.FromResult(BadRequest(new { Error = "Higher score already exists!" }))); } var scoreModel = new ScoreMongoModel { Id = request.Score.UserId, Score = request.Score.Score, UserName = request.Score.UserName }; if (score == null) { await this.ScoreDbRepository.AddScore(scoreModel); } else { await this.ScoreDbRepository.UpdateScore(scoreModel).ConfigureAwait(false); } return(await Task.FromResult(Created("/scores/{userId}", request))); }
public async Task <long> RemoveScore(ScoreMongoModel score) { return(await DeleteOneAsync <ScoreMongoModel, string>(score).ConfigureAwait(false)); }
public async Task <bool> UpdateScore(ScoreMongoModel score) { return(await UpdateOneAsync <ScoreMongoModel, string>(score).ConfigureAwait(false)); }
public async Task AddScore(ScoreMongoModel score) { await AddOneAsync <ScoreMongoModel, string>(score); }