Example #1
0
        /// <summary>
        /// 获取阵容信息
        /// </summary>
        public int Call_TeamList(TeamRequest request)
        {
            TeamResponse response = new TeamResponse();

            response.success = true;
            response.pid     = CurrentSession.UserId;
            response.teams5  = new List <TeamInfo>();
            response.teams10 = new List <TeamInfo>();

            var player = this.CurrentSession.GetBindPlayer();

            foreach (var team in player.Teams)
            {
                TeamInfo ti = new TeamInfo();
                ti.selected = team.IsSelected;
                ti.id       = team.Id;
                ti.bps      = team.Units.Object;
                response.teams5.Add(ti);
            }
            foreach (var f in player.Formations)
            {
                TeamInfo ti = new TeamInfo();
                ti.selected = f.IsSelected;
                ti.id       = f.Id;
                ti.bps      = f.Units.Object;
                response.teams10.Add(ti);
            }
            CurrentSession.SendAsync(response);
            return(0);
        }
        private async Task <IEnumerable <Player> > GetPlayersByElementTypeAsync(ElementType elementType)
        {
            var            fplApiClient   = new WebApiClient();
            StaticResponse staticResponse = await fplApiClient.GetStaticAsync();

            var pickedElementIds = new HashSet <int>();

            if (staticResponse.CurrentEvent > 0)
            {
                TeamResponse teamResponse = await fplApiClient.GetTeamAsync(MyTeamId, staticResponse.CurrentEvent);

                pickedElementIds = new HashSet <int>(teamResponse.Picks.Select(p => p.ElementId));
            }

            double minimumMinutesRatio             = 0.2d;
            double totalMinutes                    = staticResponse.CurrentEvent * 90;
            double minimumMinutesPlayed            = totalMinutes * minimumMinutesRatio;
            Dictionary <int, string> teamNamesById = staticResponse.Teams.ToDictionary(
                t => t.Id,
                t => t.Name);
            IEnumerable <Element> elements = staticResponse.Elements
                                             .Where(e => e.ElementType == (int)elementType)
                                             .Where(e => e.Minutes >= minimumMinutesPlayed);
            IEnumerable <Player> players = elements.Select(
                e => Player.FromElement(e, teamNamesById, pickedElementIds.Contains(e.Id)));

            return(players);
        }
Example #3
0
        /// <summary>
        /// Get Team details by Team name
        /// </summary>
        /// <param name="projectName"></param>
        /// <param name="teamaName"></param>
        /// <returns></returns>
        public TeamResponse GetTeamByName(string projectName, string teamaName)
        {
            TeamResponse viewModel = new TeamResponse();

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(_configuration.UriString);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _credentials);
                HttpResponseMessage response = client.GetAsync("_apis/projects/" + projectName + "/teams/" + teamaName + "?api-version=2.2").Result;
                if (response.IsSuccessStatusCode)
                {
                    viewModel = response.Content.ReadAsAsync <TeamResponse>().Result;
                    return(viewModel);
                }
                else
                {
                    var    errorMessage = response.Content.ReadAsStringAsync();
                    string error        = Utility.GeterroMessage(errorMessage.Result.ToString());
                    this.lastFailureMessage = error;
                    return(new TeamResponse());
                }
            }
        }
Example #4
0
        public void GetById_should_handle_exception()
        {
            // Arrange
            BaseMock.ShouldThrowException = true;
            TeamRequest request = new()
            {
                Id = 3
            };

            TeamResponse expected = new()
            {
                Status = new BaseResponse {
                    Code = Code.UnknownError, ErrorMessage = "An error occured while loading team data"
                }
            };

            LogData expectedLog = new()
            {
                CallSide         = nameof(TeamsService),
                CallerMethodName = nameof(_teamsService.GetById),
                CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                Request          = request,
                Response         = new Exception("Test exception")
            };

            // Act
            TeamResponse actual = _teamsService.GetById(request, null).Result;

            // Assert
            Assert.AreEqual(expected, actual, "Excpetion handled");
            _loggerMock.Verify(m => m.AddErrorLog(expectedLog), Times.Once);
        }

        [Test]
Example #5
0
        public void GetById_should_handle_not_found_team_response_from_repository()
        {
            // Arrange
            TeamRequest request = new()
            {
                Id = 3
            };

            TeamResponse expected = new()
            {
                Status = new BaseResponse {
                    Code = Code.DataError, ErrorMessage = "Requested team not found"
                }
            };

            LogData expectedLog = new()
            {
                CallSide         = nameof(TeamsService),
                CallerMethodName = nameof(_teamsService.GetById),
                CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                Request          = request,
                Response         = expected
            };

            // Act
            TeamResponse actual = _teamsService.GetById(request, null).Result;

            // Assert
            Assert.AreEqual(expected, actual, "Not found team response handled");
            _loggerMock.Verify(m => m.AddLog(expectedLog), Times.Once);
        }

        [Test]
Example #6
0
        public TeamDetail GetTeamDetailByTeamResponse(IStat stat, TeamResponse team, IList <StatResponse> matchStats)
        {
            var teamDetail = new TeamDetail {
                TeamInfo = team
            };
            var teamTotalAge = 0;
            var teamStats    = new StatResponse();

            var players = matchStats.Where(p => p.TeamId == team.Id).Select(p => p.Player).ToList();

            foreach (var player in players)
            {
                var playerStat = stat.GetPlayerStatByMatchIdAndTeamId(player.Id, team.Id, matchStats);
                if (playerStat == null)
                {
                    continue;
                }

                teamStats = stat.AddPlayerStatToTeamStats(teamStats, playerStat);

                teamDetail.PlayerStats.Add(new PlayerMatchStat {
                    Player = player, Stat = playerStat
                });
                teamTotalAge = teamTotalAge + player.BirthDate.GetAge();
            }

            teamDetail.AgeRatio = ConvertFunctions.GetTeamAgeRatio(players.Count, teamTotalAge);

            teamDetail.TeamStats = teamStats;
            return(teamDetail);
        }
        public IActionResult UpdateTeam(Guid teamId, [FromBody] TeamResponse team)
        {
            if (!ModelState.IsValid)
            {
                return(StatusCode(400, "Model is not valid"));
            }

            try
            {
                var newTeam = mapper.Map <TeamDto>(team);
                newTeam.TeamId = teamId;
                var updated = teamService.UpdateTeam(newTeam);
                if (updated)
                {
                    return(StatusCode(201, "Task was updated"));
                }
                else
                {
                    return(StatusCode(404, "Task not found"));
                }
            }
            catch (Exception)
            {
                return(StatusCode(500));
            }
        }
        private void CreateTestTeamMember()
        {
            var route4Me = new Route4MeManagerV5(ActualApiKey);

            int?ownerId = GetOwnerMemberId();

            if (ownerId == null)
            {
                return;
            }

            var newMemberParameters = new TeamRequest()
            {
                NewPassword     = testPassword,
                MemberFirstName = "John",
                MemberLastName  = "Doe",
                MemberCompany   = "Test Member To Remove",
                MemberEmail     = GetTestEmail(),
                OwnerMemberId   = (int)ownerId
            };

            newMemberParameters.SetMemberType(MemberTypes.Driver);

            TeamResponse member = route4Me.CreateTeamMember(newMemberParameters,
                                                            out ResultResponse resultResponse);

            if (member != null && member.GetType() == typeof(TeamResponse))
            {
                membersToRemove.Add(member);
            }
        }
Example #9
0
 /// <summary>
 /// Get Team details by Team name
 /// </summary>
 /// <param name="projectName"></param>
 /// <param name="teamaName"></param>
 /// <returns></returns>
 public TeamResponse GetTeamByName(string projectName, string teamaName)
 {
     try
     {
         TeamResponse viewModel = new TeamResponse();
         using (var client = GetHttpClient())
         {
             HttpResponseMessage response = client.GetAsync("_apis/projects/" + projectName + "/teams/" + teamaName + "?api-version=" + _configuration.VersionNumber).Result;
             if (response.IsSuccessStatusCode)
             {
                 viewModel = response.Content.ReadAsAsync <TeamResponse>().Result;
                 return(viewModel);
             }
             else
             {
                 logger.Debug(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t GetTeamByName \t" + response.Content.ReadAsStringAsync().Result);
                 var    errorMessage = response.Content.ReadAsStringAsync();
                 string error        = Utility.GeterroMessage(errorMessage.Result.ToString());
                 this.LastFailureMessage = error;
             }
         }
     }
     catch (Exception ex)
     {
         logger.Debug(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t GetTeamByName \t" + ex.Message + "\t" + "\n" + ex.StackTrace + "\n");
     }
     return(new TeamResponse());
 }
Example #10
0
        public List <TeamResponse> GetChampionshipInfo(int Id)
        {
            List <TeamResponse> listOfTeams = new List <TeamResponse>();

            var ifExist = context.ChampionshipTeam.Any(e => e.IdChampionship == Id);

            if (ifExist == false)
            {
                return(null);
            }

            var listOfId = context.ChampionshipTeam.Where(e => e.IdChampionship == Id).Select(e => e.IdTeam).ToList();

            foreach (var item in listOfId)
            {
                var teamName = context.Team.FirstOrDefault(e => e.IdTeam == item);
                var score    = context.ChampionshipTeam.FirstOrDefault(e => e.IdTeam == item);

                var teamResponse = new TeamResponse()
                {
                    Score    = score.Score,
                    TeamName = teamName.TeamName
                };
                listOfTeams.Add(teamResponse);
            }
            return(listOfTeams);
        }
Example #11
0
        public void GetTeamUsers(TeamRequest request, TeamResponse response)
        {
            var xRefTeamUser = _uow.Repository <XRefTeamUserEntity>().GetOverview();
            var user         = _uow.Repository <UserEntity>().GetOverview();
            var role         = _uow.Repository <RoleEntity>().GetOverview();
            var tasks        = _uow.Repository <TaskEntity>().GetOverview();

            var teamUsers = (from x in xRefTeamUser
                             join u in user
                             on x.UserId equals u.Id
                             join r in role
                             on x.RoleId equals r.RoleId
                             where x.TeamId == request.TeamId
                             select new User
            {
                UserId = u.Id,
                UserName = u.UserName,
                UserRole = r.RoleName,
                Me = request.UserId == x.UserId ? true : false,
                CountTasks = tasks.Where(t => t.UserId == u.Id && t.TeamId == request.TeamId).Count()
            }).ToList();

            if (teamUsers != null)
            {
                response.TeamUsers = teamUsers;
            }
        }
Example #12
0
 public TeamResponseViewModel(TeamResponse response)
 {
     ParticipantCount = response.ParticipantCount;
     Event            = response.Event;
     EventId          = response.EventId;
     TeamName         = response.Team?.Name;
     ExternalFileUrl  = response.FileUrl;
 }
Example #13
0
        public ActionResult DeleteTeam(string name)
        {
            var          teams = _league.GetAllTeams();
            TeamResponse team  = new TeamResponse();

            team.NewTeam = (Team)teams.ResponseType.FirstOrDefault(t => t.Name == name);
            return(View(team));
        }
Example #14
0
        public void GetTeamById(TeamRequest request, TeamResponse response)
        {
            var team = _uow.Repository <TeamEntity>().GetOverview(x => x.TeamId == request.TeamId).FirstOrDefault();

            if (team != null)
            {
                response.Team = _mapper.Map <TeamVM>(team);
            }
        }
Example #15
0
 internal Team FromTeam(TeamResponse result)
 {
     var x = new Team();
     var temp = result.Links.Self.Href.Split('/');
     x.ApiId = Int32.Parse(temp[temp.Length - 1]);
     x.Name = result.Name;
     x.LogoURI = result.CrestUrl;
     return x;
 }
Example #16
0
        internal Team FromTeam(TeamResponse result)
        {
            var x    = new Team();
            var temp = result.Links.Self.Href.Split('/');

            x.ApiId   = Int32.Parse(temp[temp.Length - 1]);
            x.Name    = result.Name;
            x.LogoURI = result.CrestUrl;
            return(x);
        }
        public async Task <IHttpActionResult> YearWizardInfo()
        {
            int currYear = this.CurrentYear;

            var teams = await this.Db.teamyeardatas.Include(x => x.team).Include(x => x.year).Where(x => x.year.value >= currYear - 2).ToListAsync();

            var sortedUniqueTeams = teams.Where(x => x.team.validTeam).OrderByDescending(x => x.year.value).GroupBy(x => x.team.id).Select(x => x.First()).Select(x => x.team);

            return(Ok(new { teams = sortedUniqueTeams.Select(x => TeamResponse.From(x)) }));
        }
Example #18
0
        public TeamResponse GetTeamById(TeamRequest request)
        {
            var response = new TeamResponse();

            RunCode(MethodBase.GetCurrentMethod().Name, request, response, (uow) =>
            {
                _manager.GetTeamById(request, response);
            });
            return(response);
        }
Example #19
0
        public async Task <TeamResponse> CreateTeam(TeamRequest request)
        {
            var response = new TeamResponse();

            await RunCodeAsync(MethodBase.GetCurrentMethod().Name, request, response, async (uow) =>
            {
                await _manager.CreateTeam(request, response);
            });

            return(response);
        }
Example #20
0
    public async Task <IActionResult> GetTeam([FromRoute] Guid teamId)
    {
        try
        {
            var projection = await _teamQueryHandler.GetTeamAsync(teamId);

            return(Ok(TeamResponse.From(projection)));
        }
        catch
        {
            return(NotFound());
        }
    }
        public void CanMapTeamToTeamResponse()
        {
            var domainTeam = TestHelpers.CreateTeam().ToDomain();

            var expectedResponse = new TeamResponse
            {
                Id      = domainTeam.Id,
                Context = domainTeam.Context,
                Name    = domainTeam.Name
            };

            domainTeam.ToResponse().Should().BeEquivalentTo(expectedResponse);
        }
Example #22
0
        public async Task <IEnumerable <Data.Models.Team> > MapAsync(TeamResponse source)
        {
            var teams = new List <Data.Models.Team>();

            foreach (var c in source.Teams)
            {
                teams.Add(new Data.Models.Team
                {
                    OpenFootyId = c.Id,
                    Name        = c.Name,
                    BookieName  = c.ShortName,
                    Badge       = c.CrestUrl
                });
            }

            return(await Task.FromResult(teams));
        }
Example #23
0
 public static Team MapTeam(TeamResponse team)
 {
     return(new Team
     {
         BaronKills = team.BaronKills,
         DominionVictoryScore = team.DominionVictoryScore,
         DragonKills = team.DragonKills,
         FirstBaron = team.FirstBaron,
         FirstBlood = team.FirstBlood,
         FirstDragon = team.FirstDragon,
         InhibitorKills = team.InhibitorKills,
         TeamId = team.TeamId,
         TowerKills = team.TowerKills,
         VilemaxKills = team.VilemawKills,
         Winner = team.Winner
     });
 }
Example #24
0
        public TeamResponse MapModelToResponse(Team team)
        {
            if (team == null)
            {
                return(null);
            }

            var teamResponse = new TeamResponse
            {
                Id          = team.Id,
                Name        = team.Name,
                AuthorId    = team.AuthorId,
                Description = team.Description,
                Image       = team.Image,
            };

            return(teamResponse);
        }
Example #25
0
        public static DbTeam ToDbTeam(TeamResponse teamResponse)
        {
            var teamAlternateNames = new List <DbTeamAlternateName>();

            if (!string.IsNullOrWhiteSpace(teamResponse.ShortName))
            {
                teamAlternateNames.Add(new DbTeamAlternateName
                {
                    TeamId        = teamResponse.Id,
                    AlternateName = teamResponse.ShortName
                });
            } // fix: dla przypisania wartości null jako AltName w bd, wtedy DataManager używając Selectmany miałby puste wartości, co spowodowałoby NullReferenceException przy próbach pobrania właściwości

            return(new DbTeam
            {
                Id = teamResponse.Id,
                Name = teamResponse.Name,
                TeamAlternateNames = teamAlternateNames
            });
        }
        public IHttpActionResult GetDataForYear(int year)
        {
            if (year < 1999 || year > DateTimeOffset.UtcNow.Year)
            {
                return(BadRequest("year not in valid range"));
            }

            this.Db.Configuration.ProxyCreationEnabled = false;

            // TODO: Invalid players might need to be added to this (no shows, etc)
            var yearDataWithPlayerForYear = this.Db.playeryeardatas.Include(p => p.player).AsNoTracking().Where(x => x.year.value == year).ToList();

            var weeksForYear = this.Db.weeks.Where(w => w.year.value == year).Include(w => w.course).AsNoTracking().ToList();

            var teamsForYear           = this.Db.teams.AsNoTracking().Where(x => x.playeryeardatas.Any(y => y.year.value == year)).ToList();
            var leaderboards           = this.Db.leaderboards.AsNoTracking().ToList();
            var pairings               = this.Db.pairings.AsNoTracking().ToList();
            var leaderBoardDataForYear = this.Db.leaderboarddatas.AsNoTracking().Where(x => x.year.value == year).ToList();
            var courses             = weeksForYear.Select(w => w.course).GroupBy(c => c.id).Select(g => g.First());
            var teamMatchupsForYear = this.Db.teammatchups
                                      .Include(x => x.teams)
                                      .Include(x => x.matches)
                                      .Include("matches.results")
                                      .Where(x => x.week.year.value == year).ToList()
                                      .GroupBy(x => x.weekId, x => x, (key, value) => value.OrderBy(x => x.matchOrder))
                                      .SelectMany(x => x);

            var dby = new DataByYear
            {
                PlayersForYear         = yearDataWithPlayerForYear.Select(x => PlayerResponse.From(x)).ToList(),
                LeaderboardDataForYear = leaderBoardDataForYear.Select(x => LeaderBoardDataResponse.From(x)).ToList(),
                Leaderboards           = leaderboards.Select(x => new LeaderBoardResponse(x)).ToList(),
                TeamsForYear           = teamsForYear.Select(x => TeamResponse.From(x)).ToList(),
                TeamMatchups           = teamMatchupsForYear.Select(x => TeamMatchupResponse.From(x)).ToList(),
                Courses  = courses.Select(x => CourseResponse.From(x)).ToList(),
                Weeks    = weeksForYear.Select(x => new WeekResponse(x)).ToList(),
                Pairings = pairings
            };

            return(Ok(dby));
        }
        public ScheduleWeek(week w, GroupedPlayoffMatchup playoffMatchup, bool includeMatches = false)
            : base(w)
        {
            this.TeamMatchups =
                w.teammatchups.Select(x => includeMatches ? new TeamMatchupWithResults(x) : new ScheduleTeamMatchup(x)).OrderBy(x => x.MatchOrder).ToList();
            this.Course  = CourseResponse.From(w.course);
            this.Pairing = w.pairing.pairingText;

            if (playoffMatchup != null)
            {
                this.PlayoffMatchups = playoffMatchup.PlayoffMatchups.Select(y =>
                                                                             new
                {
                    team1       = TeamResponse.From(y.Team1),
                    team2       = TeamResponse.From(y.Team2),
                    team1Seed   = y.Team1Seed,
                    team2Seed   = y.Team2Seed,
                    playoffType = y.PlayoffType
                });
            }
        }
Example #28
0
        //this returns seasons populated down to the category level.
        public async Task <BindableCollection <Season> > GetSortedSeasons()
        {
            TeamResponse response = await ServiceAccessor.GetTeams();

            if (response.status == SERVICE_RESPONSE.SUCCESS)
            {
                BindableCollection <Team>   teams   = response.teams;
                BindableCollection <Season> seasons = new BindableCollection <Season>();
                foreach (Team team in teams)
                {
                    BindableCollection <Season> teamSeason = await GetPopulatedSeasons(team);

                    if (teamSeason != null)
                    {
                        seasons.AddRange(teamSeason);
                    }
                }
                return(new BindableCollection <Season>(seasons.OrderByDescending(s => s.year)));
            }
            return(null);
        }
Example #29
0
        public void GetById_should_return_response_from_grpc_client()
        {
            // Arrange
            TeamRequest request = new()
            {
                Id = 1
            };
            TeamResponse response = new()
            {
                Status = new BaseResponse {
                    Code = Code.Success, ErrorMessage = string.Empty
                },
                Data = new TeamData {
                    Id = 1, Name = "test", Description = "test", CreatedOn = Timestamp.FromDateTime(_dateTimeUtil.GetCurrentDateTime())
                }
            };

            BaseMock.Response = response;

            LogData expectedLog = new()
            {
                CallSide         = nameof(TeamsController),
                CallerMethodName = nameof(_teamsController.GetById),
                CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                Request          = request,
                Response         = response
            };

            // Act
            ObjectResult actual     = _teamsController.GetById(request.Id) as ObjectResult;
            TeamResponse actualData = actual.Value as TeamResponse;

            // Assert
            Assert.AreEqual(200, actual.StatusCode, "StatusCode as expected");
            Assert.AreEqual(response, actualData, "Response data as expected");
            _loggerMock.Verify(m => m.AddLog(expectedLog), Times.Once);
            _teamsClientMock.Verify(m => m.GetById(request, null, null, new CancellationToken()), Times.Once);
        }

        [Test]
Example #30
0
        public async Task CreateTeam(TeamRequest request, TeamResponse response)
        {
            response.Errors = Validator.CreateTeam(request.Team);
            if (response.Errors.Count() > 0)
            {
                return;
            }
            var teamDb = _uow.Repository <TeamEntity>().GetOverview(t => t.TeamName == request.Team.TeamName).FirstOrDefault();

            if (teamDb != null)
            {
                response.Errors.Add("teamname", $"Team with name {request.Team.TeamName} already exist.");
                return;
            }
            var newTeam = _mapper.Map <TeamEntity>(request.Team);

            _uow.Repository <TeamEntity>().Add(newTeam);
            _uow.Save();

            var newXrefTeamUser = new XRefTeamUserEntity {
                TeamId = newTeam.TeamId, UserId = request.UserId, RoleId = (int)Enums.Role.SCRUM_MASTER
            };

            _uow.Repository <XRefTeamUserEntity>().Add(newXrefTeamUser);
            _uow.Save();

            var backlog = new BacklogEntity {
                TeamId = newTeam.TeamId
            };

            _uow.Repository <BacklogEntity>().Add(backlog);
            _uow.Save();
            var user      = _uow.Repository <UserEntity>().GetOverview(u => u.Id == request.UserId).FirstOrDefault();
            var userTeams = _uow.Repository <XRefTeamUserEntity>().GetOverview(u => u.UserId == user.Id).Select(t => t.TeamId).ToArray();

            response.Token = await user.GenerateJwtToken(_configuration, userTeams);

            response.Team = _mapper.Map <TeamVM>(newTeam);
        }
        public async Task <IEnumerable <Player> > GetPickedPlayersAsync()
        {
            var            fplApiClient   = new WebApiClient();
            StaticResponse staticResponse = await fplApiClient.GetStaticAsync();

            var pickedElementIds = new HashSet <int>();

            if (staticResponse.CurrentEvent > 0)
            {
                TeamResponse teamResponse = await fplApiClient.GetTeamAsync(MyTeamId, staticResponse.CurrentEvent);

                pickedElementIds = new HashSet <int>(teamResponse.Picks.Select(p => p.ElementId));
            }

            Dictionary <int, string> teamNamesById = staticResponse.Teams.ToDictionary(
                t => t.Id,
                t => t.Name);
            IEnumerable <Element> pickedElements = staticResponse.Elements.Where(e => pickedElementIds.Contains(e.Id));
            IEnumerable <Player>  players        = pickedElements.Select(
                e => Player.FromElement(e, teamNamesById, true));

            return(players);
        }