Пример #1
0
        public ActionResult ListOnlineUsers()
        {
            var currentUser   = userRepository.FindUserById(WebSecurity.CurrentUserId);
            var listUsers     = new List <IndexViewModel>();
            var loggedInUsers = SparringHub.GetOnlineUsers();

            if (loggedInUsers != null && loggedInUsers.Count > 0)
            {
                //List<string> loggedInUsers = (List<string>)HttpRuntime.Cache["LoggedInUsers"];
                foreach (var user in loggedInUsers)
                {
                    //var loggedUser = userRepository.FindUserByUserName(user);
                    if (user.PlayingRating >= currentUser.RatingFrom && user.PlayingRating <= currentUser.RatingTo && user.ID != currentUser.ID)
                    {
                        listUsers.Add(new IndexViewModel
                        {
                            User       = user,
                            Identifier = MatchIdentifier.CalculateMatchIdentifier(currentUser.ID, user.ID, currentUser.Minutes, currentUser.Gain)
                        });
                    }
                }
            }
            return(PartialView(listUsers));
        }
Пример #2
0
        public void Spare(int whiteId, int blackId, int minutes, int gain)
        {
            var player = users.FirstOrDefault(x => x.ConnectionId == Context.ConnectionId);

            if (player == null)
            {
                return;
            }
            var opponent = users.FirstOrDefault(x => x.Name.Equals(blackId.ToString()));

            if (opponent == null)
            {
                return;
            }
            Clients.Client(opponent.ConnectionId).sparePartners(whiteId, blackId, minutes, gain, MatchIdentifier.CalculateMatchIdentifier(whiteId, blackId, minutes, gain));
        }