public void Init(UserDataManager userData) { _userData = userData; var session = _userData.PgSession; session.OnThread("Message.Send.new", OnPrivateMessageSent); session.OnThread("Message.Receive.new", OnPrivateMessageReceived); session.OnThread("Message.Send.fail", OnPrivateMessageSendFailed); session.OnThread("Chatroom.Join.fail", OnChatroomJoinFailed); session.OnThread("Chatroom.User.list", OnChatroomUserList); session.OnThread("Chatroom.Member.list", OnChatroomMemberList); session.OnThread("Chatroom.Member.change", OnChatroomMemberChange); session.OnThread("Chatroom.Message.new", OnChatroomMessageNew); session.OnThread("Chatroom.Invite.new", OnChatroomInviteNew); session.OnThread("GameRoom.new", OnGameRoomNew); session.OnThread("GameRoom.update", OnGameRoomUpdate); session.OnThread("GameRoom.destroy", OnGameRoomDestroy); session.OnThread("Match.new", OnMatchNew); session.OnThread("Match.update", OnMatchUpdate); session.OnThread("Bet.new", OnBetNew); session.OnThread("Bet.Taker.new", OnBetTakerNew); session.OnThread("Bet.update", OnBetUpdate); session.OnThread("Bet.destroy", OnBetDestroy); ChatroomUserGetList(); }
private void DoLogin(string username, string password) { var workMessage = "Logging in..."; SetWork(workMessage, Brushes.Black, false); passwordBoxPassword.Clear(); DateTime timeout = DateTime.Now + App.Settings.LogInTimeout; bool isSuccess = false; SocketSession.BeginAndCallback(delegate { isSuccess = SocketSession.Login(username, password, timeout); }, delegate { if (isSuccess) { IsLoggedIn = true; App.LoggedIn(username); var userData = new UserDataManager(SocketSession); var homeWindow = new HomeWindow(); homeWindow.Init(); Hide(); homeWindow.Show(); App.Settings.Username = username; if (checkBoxRememberPassword.IsChecked == true) App.Settings.Password = password.Encrypt(); else App.Settings.Password = ""; App.Settings.Save(); Close(); foreach (var action in _loginSuccessActions) { try { action(); } catch (Exception e) { Console.WriteLine("Login success action threw Exception: " + e.Message); Console.WriteLine(e.StackTrace); } } } else { var message = "Invalid username or password"; if (DateTime.Now >= timeout) message = "Try again later. No response within timeout period."; SetWork(message, Brushes.Red, true); passwordBoxPassword.Focus(); } _loginSuccessActions.Clear(); }); }
public UserDataManager(SocketSession session) { UserData = this; Settings = PointGaming.Settings.SettingsUser.Load(session.User.username); PgSession = session; User = GetPgUser(session.User); User.Status = "online"; _sessionManager = new SessionManager(); Friendship = new FriendshipManager(PgSession); Voip = new VoipSession(this); Voip.Enable(); timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromSeconds(5); timer.Tick += new EventHandler(CheckIdle); timer.Start(); }