Exemplo n.º 1
0
        public async Task <Response> GetGroupBetPlayerByIds(
            string urlBase,
            string servicePrefix,
            string controller,
            string tokenType,
            string accessToken,
            GroupBetPlayerRequest2 groupBetRequestest)
        {
            try
            {
                string        requestString = JsonConvert.SerializeObject(groupBetRequestest);
                StringContent content       = new StringContent(requestString, Encoding.UTF8, "application/json");
                HttpClient    client        = new HttpClient
                {
                    BaseAddress = new Uri(urlBase)
                };

                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenType, accessToken);
                string url = $"{servicePrefix}{controller}";
                HttpResponseMessage response = await client.PostAsync(url, content);

                string result = await response.Content.ReadAsStringAsync();

                if (!response.IsSuccessStatusCode)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = result,
                    });
                }

                GroupBetPlayerResponse groupBetPlayerResponse = JsonConvert.DeserializeObject <GroupBetPlayerResponse>(result);
                return(new Response
                {
                    IsSuccess = true,
                    Result = groupBetPlayerResponse
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = ex.Message
                });
            }
        }
        public async Task <IActionResult> GetGroupBetPlayerByIds([FromBody] GroupBetPlayerRequest2 groupBetPlayerRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var groupBetPlayer = _context.GroupBetPlayers
                                 .FirstOrDefault(o => o.GroupBet.Id == groupBetPlayerRequest.GroupBetId && o.Player.Id == groupBetPlayerRequest.PlayerId);


            var groupBet = await _context.GroupBets
                           .Include(p => p.Tournament)
                           .Include(p => p.Admin)
                           .ThenInclude(p => p.User)
                           .ThenInclude(p => p.FavoriteTeam)
                           .ThenInclude(p => p.League)
                           .FirstOrDefaultAsync(u => u.Id == groupBetPlayerRequest.GroupBetId);

            var player = await _context.Players
                         .Include(p => p.User)
                         .ThenInclude(p => p.FavoriteTeam)
                         .ThenInclude(p => p.League)
                         .FirstOrDefaultAsync(u => u.Id == groupBetPlayerRequest.PlayerId);

            var groupBetPlayer1 = new GroupBetPlayer
            {
                Id         = groupBetPlayer.Id,
                GroupBet   = groupBet,
                Player     = player,
                IsAccepted = groupBetPlayer.IsAccepted,
                IsBlocked  = groupBetPlayer.IsBlocked,
                Points     = groupBetPlayer.Points
            };

            var groupBetPlayerResponse = _converterHelper.ToGroupBetPlayerResponse(groupBetPlayer1);

            return(Ok(groupBetPlayerResponse.Result));
        }