Пример #1
0
        public IEnumerable <Board> GenerateLeaderboard(string focusUserId, int focusCount)
        {
            var boards     = new List <Board>();
            var boardNames = new string[] { "Victories", "Defeats", "GameCount" };
            int id         = 0;

            using (var db = new StatisticsContext(this.NameOrConnectionString))
            {
                foreach (var boardName in boardNames)
                {
                    var board = new Board()
                    {
                        Id     = ++id,
                        Name   = boardName,
                        Scores = null
                    };

                    board.Scores = db.Database.SqlQuery <Score>(
                        "GenerateBoard @boardName, @count, @focusUserId",
                        new SqlParameter("boardName", boardName),
                        new SqlParameter("count", focusCount),
                        new SqlParameter("focusUserId", focusUserId)).ToArray();

                    boards.Add(board);
                }
            }

            return(boards);
        }
        public IEnumerable<Board> GenerateLeaderboard(string focusUserId, int focusCount)
        {
            var boards = new List<Board>();
            var boardNames = new string[] { "Victories", "Defeats", "GameCount" };
            int id = 0;

            using (var db = new StatisticsContext(this.NameOrConnectionString))
            {
                foreach (var boardName in boardNames)
                {
                    var board = new Board()
                    {
                        Id = ++id,
                        Name = boardName,
                        Scores = null
                    };

                    board.Scores = db.Database.SqlQuery<Score>(
                            "GenerateBoard @boardName, @count, @focusUserId",
                            new SqlParameter("boardName", boardName),
                            new SqlParameter("count", focusCount),
                            new SqlParameter("focusUserId", focusUserId)).ToArray();

                    boards.Add(board);
                }
            }

            return boards;
        }
Пример #3
0
        public UserStats Retrieve(string userId)
        {
            UserStats stats = null;

            using (var db = new StatisticsContext(this.NameOrConnectionString))
            {
                stats = db.Statistics.FirstOrDefault(e => e.UserId.Equals(userId, StringComparison.OrdinalIgnoreCase));
            }

            return(stats);
        }
Пример #4
0
        public void Save(UserStats stats)
        {
            using (var db = new StatisticsContext(this.NameOrConnectionString))
            {
                var old = db.Statistics.FirstOrDefault(e => e.UserId.Equals(stats.UserId, StringComparison.OrdinalIgnoreCase));

                if (old != null)
                {
                    old.Victories = stats.Victories;
                    old.Defeats   = stats.Defeats;
                    old.GameCount = stats.GameCount;
                }
                else
                {
                    db.Statistics.Add(stats);
                }

                db.SaveChanges();
            }
        }
        public void Save(UserStats stats)
        {
            using (var db = new StatisticsContext(this.NameOrConnectionString))
            {
                var old = db.Statistics.FirstOrDefault(e => e.UserId.Equals(stats.UserId, StringComparison.OrdinalIgnoreCase));

                if (old != null)
                {
                    old.Victories = stats.Victories;
                    old.Defeats = stats.Defeats;
                    old.GameCount = stats.GameCount;
                }
                else
                {
                    db.Statistics.Add(stats);
                }

                db.SaveChanges();
            }
        }
        public UserStats Retrieve(string userId)
        {
            UserStats stats = null;

            using (var db = new StatisticsContext(this.NameOrConnectionString))
            {
                stats = db.Statistics.FirstOrDefault(e => e.UserId.Equals(userId, StringComparison.OrdinalIgnoreCase));
            }

            return stats;
        }