public async Task <MtBackendResponse <MarginTradingAccountModel> > SetTradingCondition( [FromBody] SetTradingConditionModel model) { if (!_tradingConditionsCacheService.IsTradingConditionExists(model.TradingConditionId)) { return(MtBackendResponse <MarginTradingAccountModel> .Error( $"No trading condition {model.TradingConditionId} found in cache")); } var tradingCondition = _tradingConditionsCacheService.GetTradingCondition(model.TradingConditionId); IMarginTradingAccount account = _accountsCacheService.TryGet(model.ClientId, model.AccountId); if (account == null) { return(MtBackendResponse <MarginTradingAccountModel> .Error( $"Account for client [{model.ClientId}] with id [{model.AccountId}] was not found")); } if (tradingCondition.LegalEntity != account.LegalEntity) { return(MtBackendResponse <MarginTradingAccountModel> .Error( $"Account for client [{model.ClientId}] with id [{model.AccountId}] has LegalEntity " + $"[{account.LegalEntity}], but trading condition wit id [{tradingCondition.Id}] has " + $"LegalEntity [{tradingCondition.LegalEntity}]")); } account = await _accountManager.SetTradingCondition(model.ClientId, model.AccountId, model.TradingConditionId); return(MtBackendResponse <MarginTradingAccountModel> .Ok(account.ToBackendContract())); }