예제 #1
0
        public bool editDetails(TexasHoldemShared.CommMessages.ClientToServer.EditCommMessage.EditField field, string value)
        {
            //checkifAnyConstraints?
            EditCommMessage toSend = new EditCommMessage(_userId, field, value);

            _eventHandler.SendNewEvent(toSend);
            return(true);
        }
예제 #2
0
        public bool EditDetails(EditCommMessage.EditField field, string value)
        {
            EditCommMessage toSend = new EditCommMessage(user.id, _sessionId, field, value);
            Tuple <CommunicationMessage, bool, bool, ResponeCommMessage> messageToList =
                new Tuple <CommunicationMessage, bool, bool, ResponeCommMessage>(toSend, false, false,
                                                                                 new ResponeCommMessage(user.id));

            MessagesSentObserver.Add(messageToList);
            _eventHandler.SendNewEvent(toSend);
            while ((MessagesSentObserver.Find(x => x.Item1.Equals(toSend))).Item2 == false)
            {
                var t = Task.Run(async delegate { await Task.Delay(10); });
                t.Wait();
            }
            bool toRet = (MessagesSentObserver.Find(x => x.Item1.Equals(toSend))).Item3;

            MessagesSentObserver.Remove(messageToList);
            return(toRet);
        }
예제 #3
0
        //TODO: maybe delete
        //private List<string> GetNamesFromList(List<Player> players)
        //{
        //    List<string> names = new List<string>();
        //    foreach (Player p in players)
        //    {
        //        names.Add(p.user.MemberName());
        //    }
        //    return names;
        //}

        public ResponeCommMessage HandleEvent(EditCommMessage msg)
        {
            if (_sessionIdHandler != null)
            {
                bool success;
                int  newMoney;
                int  newId;
                switch (msg.FieldToEdit)
                {
                case EditCommMessage.EditField.UserName:
                    success = _userService.EditUserName(msg.UserId, msg.NewValue);
                    break;

                case EditCommMessage.EditField.Password:
                    success = _userService.EditUserPassword(msg.UserId, msg.NewValue);
                    break;

                case EditCommMessage.EditField.Avatar:
                    success = _userService.EditUserAvatar(msg.UserId, msg.NewValue);
                    break;

                case EditCommMessage.EditField.Email:
                    success = _userService.EditUserEmail(msg.UserId, msg.NewValue);
                    break;

                case EditCommMessage.EditField.Money:
                    string temp    = msg.NewValue;
                    bool   isValid = int.TryParse(temp, out newMoney);
                    if (isValid)
                    {
                        success = _userService.EditMoney(msg.UserId, newMoney);
                    }
                    else
                    {
                        success = false;
                    }
                    break;

                case EditCommMessage.EditField.Name:
                    success = _userService.EditName(msg.UserId, msg.NewValue);
                    break;

                case EditCommMessage.EditField.Id:
                    string temp2    = msg.NewValue;
                    bool   isValid2 = int.TryParse(temp2, out newId);
                    if (isValid2)
                    {
                        success = _userService.EditId(msg.UserId, newId);
                    }
                    else
                    {
                        success = false;
                    }
                    break;

                default:
                    return(new ResponeCommMessage(msg.UserId, msg.SessionId, false, msg));
                }
                return(new ResponeCommMessage(msg.UserId, _sessionIdHandler.GetSessionIdByUserId(msg.UserId),
                                              success, msg));
            }
            return(new ResponeCommMessage(msg.UserId, msg.SessionId, false, msg));
        }
예제 #4
0
 public ResponeCommMessage HandleEvent(EditCommMessage msg)
 {
     GotClientToServerMsg(msg);
     return(new ResponeCommMessage(msg.UserId, msg.SessionId, false, msg));
 }
예제 #5
0
 public void HandleEvent(EditCommMessage msg)
 {
     Console.WriteLine("ActionCommMessage is client to server message");
 }