public override async Task ExecuteAsync(SetGoldCommandPacket goldPacket, ClientSession session) { var data = new StatData { ActionType = UpdateStatActionType.UpdateGold, Character = new Character { Name = goldPacket.Name ?? session.Character.Name }, Data = goldPacket.Gold }; var receiver = await _connectedAccountHttpClient.GetCharacterAsync(null, goldPacket.Name ?? session.Character.Name).ConfigureAwait(false); if (receiver.Item2 == null) //TODO: Handle 404 in WebApi { await session.SendPacketAsync(new InfoPacket { Message = GameLanguage.Instance.GetMessageFromKey(LanguageKey.CANT_FIND_CHARACTER, session.Account.Language) }).ConfigureAwait(false); return; } await _statHttpClient.ChangeStatAsync(data, receiver.Item1 !).ConfigureAwait(false); await session.SendPacketAsync(session.Character.GenerateGold()).ConfigureAwait(false); }
public override async Task ExecuteAsync(SetReputationPacket setReputationPacket, ClientSession session) { if ((setReputationPacket.Name == session.Character.Name) || string.IsNullOrEmpty(setReputationPacket.Name)) { await session.Character.SetReputationAsync(setReputationPacket.Reputation).ConfigureAwait(false); return; } var data = new StatData { ActionType = UpdateStatActionType.UpdateReputation, Character = new Character { Name = setReputationPacket.Name }, Data = setReputationPacket.Reputation }; var receiver = await _connectedAccountHttpClient.GetCharacterAsync(null, setReputationPacket.Name).ConfigureAwait(false); if (receiver.Item2 == null) //TODO: Handle 404 in WebApi { await session.SendPacketAsync(new InfoPacket { Message = GameLanguage.Instance.GetMessageFromKey(LanguageKey.CANT_FIND_CHARACTER, session.Account.Language) }).ConfigureAwait(false); return; } await _statHttpClient.ChangeStatAsync(data, receiver.Item1 !).ConfigureAwait(false); }