Beispiel #1
0
 public Task <HttpResponseMessage> VoteAnonymouslyAsync(string phoneName, AnonymousVoteRequestDTO voteRequest)
 {
     return(_client.PostAsync(
                phoneName,
                new StringContent(JsonSerializer.Serialize(voteRequest), Encoding.UTF8, "application/json")
                ));
 }
Beispiel #2
0
        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());
        }