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