public Task <HttpResponseMessage> VoteAnonymouslyAsync(string phoneName, AnonymousVoteRequestDTO voteRequest) { return(_client.PostAsync( phoneName, new StringContent(JsonSerializer.Serialize(voteRequest), Encoding.UTF8, "application/json") )); }
public async Task <IActionResult> VoteAnonymouslyAsync( [FromRoute] [RegularExpression(@"^1[0-9]{10}$", ErrorMessage = "Invalid phone number format")] [Required] string phoneName, [FromBody] AnonymousVoteRequestDTO voteRequest) { if (!await _showsRepository.IsExistAsync(voteRequest.ShowId)) { ModelState.AddModelError("ShowId", "Show is not exist"); return(BadRequest(ModelState)); } var user = await _usersRepository.GetUserAsync(phoneName); if (user == null) { user = new User() { Id = phoneName }; } if (user.VotesCount >= MAX_VOTES) { ModelState.AddModelError("PhoneName", "Your number of votes has run out"); return(BadRequest(ModelState)); } user.Votes.Add(voteRequest.ShowId); await _usersRepository.SaveUserAsync(user); return(NoContent()); }
public async Task <Stream> VoteAnonymouslyAsync( [FromRoute] [RegularExpression(@"^1[0-9]{10}$", ErrorMessage = "Invalid phone number format")] [Required] string phoneName, [FromBody] AnonymousVoteRequestDTO voteRequest) { var response = await _client.VoteAnonymouslyAsync(phoneName, voteRequest); copyStatusAndHeaders(response, Response); return(await response.Content.ReadAsStreamAsync()); }