Пример #1
0
        public async Task <IActionResult> SetBaseAsset([FromBody] BaseAssetUpdateModel model)
        {
            if (string.IsNullOrWhiteSpace(model.BaseAsssetId))
            {
                return(BadRequest());
            }

            var asset = await _assetsHelper.GetAssetAsync(model.BaseAsssetId);

            if (asset == null || asset.IsDisabled)
            {
                return(NotFound());
            }

            var assetsAvailableToUser =
                await _assetsHelper.GetAssetsAvailableToClientAsync(_requestContext.ClientId, _requestContext.PartnerId,
                                                                    true);

            if (!asset.IsBase || !assetsAvailableToUser.Contains(model.BaseAsssetId))
            {
                return(BadRequest());
            }

            await _clientAccountSettingsClient.SetBaseAssetAsync(_requestContext.ClientId, model.BaseAsssetId);

            return(Ok());
        }
Пример #2
0
        public async Task <IActionResult> SetBaseAsset([FromBody] BaseAssetUpdateModel model)
        {
            try
            {
                var assetResponse = await _assetsService.AssetGetWithHttpMessagesAsync(model.BaseAsssetId);

                var asset = assetResponse?.Body as Asset;

                if (asset == null)
                {
                    return(NotFound());
                }

                if (!asset.IsBase)
                {
                    return(BadRequest(new { message = "Asset can't be set as base" }));
                }

                await _clientAccountSettingsClient.SetBaseAssetAsync(_requestContext.ClientId, model.BaseAsssetId);
            }
            catch (Exception e)
            {
                await _log.WriteFatalErrorAsync(nameof(AssetsController), nameof(SetBaseAsset), e);

                return(StatusCode((int)HttpStatusCode.InternalServerError));
            }

            return(Ok());
        }