Ejemplo n.º 1
0
        public void GetRankingTest()
        {
            var getRanking = new GetRanking();
            var bytes      = getRanking.Serialize();

            var obj = bytes.Deserialize <GetRanking>();
        }
Ejemplo n.º 2
0
 public object GetResponse(Request request)
 {
     return(request switch
     {
         CreateGame createGame => CreateGame(createGame),
         GetRanking getRanking => GetRanking(getRanking),
         Handshake handshake => Handshake(handshake),
         PlayGame playGame => PlayGame(playGame),
         _ => throw new ArgumentException()
     });
Ejemplo n.º 3
0
        public List <RankingDto> Get(GetRanking request)
        {
            int weekNo = 0;

            if (request.Week == default(int))
            {
                weekNo = new GregorianCalendar(GregorianCalendarTypes.Localized).GetWeekOfYear(DateTime.UtcNow,
                                                                                               CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
            }
            else
            {
                weekNo = request.Week;
            }

            var response = new List <RankingDto>();

            using (var session = _store.OpenSession())
            {
                var ranking = session.Query <Ranking_Index.IndexEntry, Ranking_Index>()
                              .Where(r => r.WeekNumber == weekNo)
                              .OfType <RankingSnapshot>()
                              .FirstOrDefault();

                if (ranking == null)
                {
                    throw HttpError.NotFound($"No ranking found for {weekNo}");
                }

                foreach (var playerRanking in ranking.PlayerRankings)
                {
                    response.Add(new RankingDto()
                    {
                        WeekNumber      = weekNo,
                        FullName        = playerRanking.FullName,
                        InterclubPoints = playerRanking.InterclubPoints,
                        Level           = playerRanking.Level,
                        PlayerId        = playerRanking.Id,
                        Points          = playerRanking.Points,
                    });
                }

                return(response);
            }
        }
Ejemplo n.º 4
0
 public void OnGetRanking(StandardServerGetRanking packet)
 {
     GetRanking?.Invoke(packet.Rankings);
 }