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)); }
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)); }