public void RemoveLiquidationStateIfNeeded(string accountId, string reason, string liquidationOperationId = null, LiquidationType liquidationType = LiquidationType.Normal) { var account = _accountsCacheService.TryGet(accountId); if (account == null) { return; } if (!string.IsNullOrEmpty(account.LiquidationOperationId) && (liquidationType == LiquidationType.Forced || account.GetAccountLevel() != AccountLevel.StopOut)) { _accountsCacheService.TryFinishLiquidation(accountId, reason, liquidationOperationId); } }
private bool ShouldFailExecution(AccountLevel accountLevel, LiquidationType liquidationType) { return(accountLevel != ValidAccountLevel && liquidationType != LiquidationType.Forced); }