public async Task AddPreTradeDialogConditionAsync([FromBody] PreTradeConditionRequest request)
        {
            var condition = await _dialogConditionsService.GetDialogConditionAsync(request.DialogId);

            if (condition != null && condition.Type != DialogConditionType.Pretrade)
            {
                throw new ValidationApiException($"Dialog already has a {condition.Type} condition");
            }

            var asset = await _assetsService.TryGetAssetAsync(request.AssetId);

            if (asset == null)
            {
                throw new ValidationApiException($"Asset {request.AssetId} not found");
            }

            await _dialogConditionsService.AddDialogConditionAsync(new DialogCondition
            {
                DialogId = request.DialogId,
                Type     = DialogConditionType.Pretrade,
                Data     = new PreTradeParameters
                {
                    AssetId = request.AssetId
                }.ToJson()
            });
        }