Example #1
0
        public Bet(UserDataManager manager, Match match, POCO.BetPoco poco)
        {
            Id = poco._id;
            MyMatch = match;
            MatchHash = poco.match_hash;
            UserContext = manager.User;

            SetOutcome(poco.outcome);

            if (match != null)
            {
                if (match.Player1 != null && poco.offerer_choice_id == match.Player1.Id)
                {
                    OffererChoice = match.Player1;
                    TakerChoice = match.Player2;
                }
                else
                {
                    OffererChoice = match.Player2;
                    TakerChoice = match.Player1;
                }
            }

            var offerer = new POCO.UserBase { _id = poco.offerer_id, username = poco.offerer_username };
            Offerer = manager.GetPgUser(offerer);
            OffererOdds = poco.offerer_odds;
            OffererWager = poco.offerer_wager;

            var taker = new POCO.UserBase { _id = poco.taker_id, username = poco.taker_username };
            if (!string.IsNullOrWhiteSpace(taker._id))
                Taker = manager.GetPgUser(taker);
        }
Example #2
0
        public MainWindow()
        {
            dicZH = new ResourceDictionary
            {
                Source = new Uri(@"Languages\ZH.xaml", UriKind.Relative)
            };
            dicEN = new ResourceDictionary
            {
                Source = new Uri(@"Languages\EN.xaml", UriKind.Relative)
            };

            try
            {
                StreamReader file = new StreamReader("lang.in");
                string       s    = file.ReadLine();
                if (s == "en")
                {
                    Application.Current.Resources.MergedDictionaries[0] = dicEN;
                }
                else
                {
                    Application.Current.Resources.MergedDictionaries[0] = dicZH;
                }
            }
            catch (Exception)
            {
                Application.Current.Resources.MergedDictionaries[0] = dicZH;
            }

            InitializeComponent();
            SetAnimation();

            if (Application.Current.Resources.MergedDictionaries[0] == dicZH)
            {
                lang.Content = "English";
            }
            else
            {
                lang.Content = "简体中文";
            }

            PreviewMouseMove += OnPreviewMouseMove;
            clr        = new ClrBackend();
            pgAdmin    = new PgAdmin(this, clr);
            pgLogin    = new PgLogin(this, clr);
            pgMyTicket = new PgMyTicket(this, clr);
            pgProfile  = new PgProfile(this, clr);
            pgQuery    = new PgQuery(this, clr);
            pgRegister = new PgRegister(this, clr);
            pgTrain    = new PgTrain(this, clr);
            pgTrains   = new PgTrains(this, clr);
            pgUser     = new PgUser(this, clr);
            pgUsers    = new PgUsers(this, clr);
            Logout();
            pageTransition.ShowPage(pgLogin);
        }
        public void Init(PrivateChatSession session, PgUser otherUser)
        {
            _session = session;
            _otherUser = otherUser;
            PropertyChangedEventManager.AddListener(_otherUser, this, "PropertyChanged");
            Title = otherUser.Username;

            _session.ChatMessageReceived += ChatMessages_CollectionChanged;
            _session.SendMessageFailed += MessageSendFailed;
        }
        public static void NotifyBannedUser(PgUser user, string gameId)
        {
            var window = GetNotificationsWindow();
            var url =  UserDataManager.UserData.PgSession.GetWebAppFunction("/api", "/user_bans", "user_id=" + user.Id, "game_id=" + gameId);
            var client = new RestClient(url);
            var request = new RestRequest(Method.GET) { RequestFormat = RestSharp.DataFormat.Json };
            var response = (RestResponse<UserBanPoco>)client.Execute<UserBanPoco>(request);

            var time = TimeString(response.Data.period);
            window.AddMessage(response.Data.start_time.ToString());
            var messageText = "You have been banned for " + time + " by admin " + response.Data.owner.username;
            window.AddMessage(messageText);
            window.Show();
        }
 public void Invite(PgUser other)
 {
     if (Membership.Contains(other))
         return;
     _manager.ChatroomInviteSend(new ChatroomInviteOut { _id = ChatroomId, toUser = other.ToUserBase(), });
 }
 public ChatMessage(PgUser author, string message)
 {
     this.Author = author;
     this.Message = message;
 }
Example #7
0
 public void AcceptedBy(PgUser user)
 {
     Taker = user;
 }
 public PrivateChatSession(SessionManager manager, PgUser otherUser)
     : base(manager)
 {
     _otherUser = otherUser;
 }
 public void OnVoiceStopped(PgUser user)
 {
     lock (Senders)
     {
         if (!Senders.Remove(user))
             return;
     }
     ((Action)(delegate
     {
         R.OnVoiceStopped(user);
     })).BeginInvokeUI();
 }
 private void ChatWith(PgUser friend)
 {
     if (CanChatWith(friend))
     {
         _userData.ChatWith(friend);
     }
 }
 private bool CanChatWith(PgUser friend)
 {
     var status = friend.Status;
     return ChatAvailableStatuses.Contains(status);
 }
 public void RemovePoints(PgUser user, int pointsCount)
 {
     pointsCount = Math.Abs(pointsCount) * -1;
     var url = _userData.PgSession.GetWebAppFunction("/api", "/games/" + this.GameInfo.Id + "/lobbies/change_points", "user_id=" + this._userData.User.Id, "points_count=" + pointsCount);
     var client = new RestClient(url);
     var request = new RestRequest(Method.GET) { RequestFormat = RestSharp.DataFormat.Json };
     RestResponse response = (RestResponse)client.Execute(request);
     if (response.IsOk() == true)
     {
         foreach (var member in this.Membership)
             if (member.Id == user.Id)
                 member.Points += pointsCount;
     }
 }
 public void Ban(PgUser user, double hoursCount)
 {
     RestResponse response = null;
     var url = _userData.PgSession.GetWebAppFunction("/api", "/games/" + this.GameInfo.Id + "/lobbies/ban", "user_id=" + user.Id, "period=" + hoursCount);
     var client = new RestClient(url);
     var request = new RestRequest(Method.GET) { RequestFormat = RestSharp.DataFormat.Json };
     response = (RestResponse)client.Execute(request);
     if (response.IsOk())
     {
         _lastRequestTime.AddSeconds(100);
     }
 }
        private void AppendUserMessage(PgUser user, string message)
        {
            var time = DateTime.Now;

            string timeString = time.ToString("HH:mm");

            _autoScroller.PreAppend();

            var p = new Paragraph();
            p.Inlines.Add(new Run(timeString + " "));
            p.Inlines.Add(new Bold(new Run(user.Username + ": ")));
            ChatCommon.Format(message, p.Inlines);
            flowDocumentLog.Document.Blocks.Add(p);

            _autoScroller.PostAppend();
        }
 private void Stop(PgUser user, AudioRoomEx roomEx)
 {
     _nAudioTest.AudioReceiveEnded(user.Id);
     roomEx.OnVoiceStopped(user);
     lock (_receivedTimes)
     {
         _receivedTimes.Remove(new Tuple<PgUser, AudioRoomEx>(user, roomEx));
     }
 }
 public void OnVoiceSent(PgUser user)
 {
     lock (Senders)
     {
         if (Senders.Contains(user))
             return;
         Senders.Add(user);
     }
     // todo: dean: what happens when sending/recieving right when the home window is being closed?
     ((Action)(delegate
     {
         R.OnVoiceStarted(user);
     })).BeginInvokeUI();
 }
 private void dataGridFriends_MouseDown(object sender, MouseButtonEventArgs e)
 {
     if (e.ChangedButton == MouseButton.Right)
     {
         PgUser friend;
         if (dataGridFriends.TryGetRowItem(e, out friend))
         {
             _rightClickedFriend = friend;
         }
     }
 }
 private void FillAdmins(List<POCO.UserBase> admins)
 {
     PgUser[] pgAdmins = new PgUser[admins.Count];
     for (int i = 0; i < admins.Count; i++)
         pgAdmins[i] = UserDataManager.UserData.GetPgUser(admins[i]);
     Admins = pgAdmins;
 }
 private void Unfriend(PgUser friend)
 {
     _userData.PgSession.Begin(delegate
     {
         var request = new RestRequest(Method.DELETE);
         var friendsUrl = _userData.PgSession.GetWebAppFunction("/api", "/friends/" + friend.Id);
         var client = new RestClient(friendsUrl);
         client.Execute<ApiResponse>(request);
     });
 }