Exemple #1
0
        // -------------------------------------------------------------------------------
        // ReqAccountChangeMail
        // -------------------------------------------------------------------------------
        public MsgAckAccountChangeMail ReqAccountChangeMail(MsgReqAccountChangeMail message, NetworkConnection connection = null)
        {
            int      _nResult = confirmAccountChangeMail ? Constants.INT_CONFIRM : Constants.INT_FAILURE;
            CAccount cAccount = null;

            if (dictLobby.TryGetValue(connection, out cAccount))
            {
                if (
                    !databaseManager.RowExists(DatabaseManager.tableAccounts, DatabaseManager.fieldEmail, message.sMail) &&
                    passwordManager.VerifyPassword(message.sPassword, cAccount.sPassword))
                {
                    if (confirmAccountChangeMail && !cAccount.IsDone)
                    {
                        RequestSecurityCode(cAccount, Constants.AccountActionType.ChangeMail);
                    }
                    else
                    {
                        cAccount.sMail = message.sMail;
                        _nResult       = AccountUpdate(cAccount, connection) ? Constants.INT_SUCCESS : _nResult;
                    }
                }
                else
                {
                    _nResult = Constants.INT_FAILURE;
                }
            }

            return(new MsgAckAccountChangeMail {
                nResult = _nResult
            });
        }
Exemple #2
0
        // -------------------------------------------------------------------------------
        // ReqAccountChangeMail
        // -------------------------------------------------------------------------------
        public void ReqAccountChangeMail(string[] fields, Action <string[]> callbackFunction)
        {
            DictionaryAddAction(callbackFunction);

            MsgReqAccountChangeMail message = new MsgReqAccountChangeMail {
                sMail     = fields[0],
                sPassword = Tools.HashPassword(fields[1])
            };

            networkManager.client.Send(MsgReqAccountChangeMail.nId, message);
        }
        // -------------------------------------------------------------------------------
        // OnReqAccountChangeMail
        // -------------------------------------------------------------------------------
        public void OnReqAccountChangeMail(NetworkMessage networkMessage)
        {
            MsgReqAccountChangeMail message = networkMessage.ReadMessage <MsgReqAccountChangeMail>();

            networkMessage.conn.Send(MsgAckAccountChangeMail.nId, accountManager.ReqAccountChangeMail(message, networkMessage.conn));
        }