public override void EndElement(string endElement) { if (AccountStateUpdated != null && RootNodeName.Equals(endElement)) { long accountId; decimal balance; decimal availableFunds; decimal availableToWithdraw; decimal unrealisedProfitAndLoss; decimal margin; TryGetValue(AccountIdNodeName, out accountId); TryGetValue(BalanceNodeName, out balance); TryGetValue(AvailableFundsNodeName, out availableFunds); TryGetValue(AvailableToWithdrawNodeName, out availableToWithdraw); TryGetValue(UnrealisedProfitAndLossNodeName, out unrealisedProfitAndLoss); TryGetValue(MarginNodeName, out margin); AccountStateBuilder accountStateBuilder = new AccountStateBuilder(); accountStateBuilder.AccountId(accountId).Balance(balance).AvailableFunds(availableFunds). AvailableToWithdraw(availableToWithdraw).UnrealisedProfitAndLoss(unrealisedProfitAndLoss).Margin(margin).Wallets(_walletsHandler.GetAndResetWallets()); AccountStateUpdated(accountStateBuilder.NewInstance()); } }
public override void EndElement(string endElement) { if (this.AccountStateUpdated == null || !"accountState".Equals(endElement)) { return; } long longValue; this.TryGetValue("accountId", out longValue); Decimal dec1; this.TryGetValue("balance", out dec1); Decimal dec2; this.TryGetValue("availableFunds", out dec2); Decimal dec3; this.TryGetValue("availableToWithdraw", out dec3); Decimal dec4; this.TryGetValue("unrealisedProfitAndLoss", out dec4); Decimal dec5; this.TryGetValue("margin", out dec5); AccountStateBuilder accountStateBuilder = new AccountStateBuilder(); accountStateBuilder.AccountId(longValue).Balance(dec1).AvailableFunds(dec2).AvailableToWithdraw(dec3).UnrealisedProfitAndLoss(dec4).Margin(dec5).Wallets(this._walletsHandler.GetAndResetWallets()); this.AccountStateUpdated(accountStateBuilder.NewInstance()); }