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()); }
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()); }