Esempio n. 1
0
        private async Task <AssetDto> InvokeCommandAsync(string app, ICommand command)
        {
            var context = await CommandBus.PublishAsync(command);

            var result   = context.Result <IEnrichedAssetEntity>();
            var response = AssetDto.FromAsset(result, this, app);

            return(response);
        }
Esempio n. 2
0
        private async Task <AssetDto> InvokeCommandAsync(ICommand command)
        {
            var context = await CommandBus.PublishAsync(command);

            if (context.PlainResult is AssetDuplicate created)
            {
                return(AssetDto.FromAsset(created.Asset, Resources, true));
            }
            else
            {
                return(AssetDto.FromAsset(context.Result <IEnrichedAssetEntity>(), Resources));
            }
        }
Esempio n. 3
0
        private async Task <AssetDto> InvokeCommandAsync(string app, ICommand command)
        {
            var context = await CommandBus.PublishAsync(command);

            if (context.PlainResult is AssetCreatedResult created)
            {
                return(AssetDto.FromAsset(created.Asset, this, app, created.IsDuplicate));
            }
            else
            {
                return(AssetDto.FromAsset(context.Result <IEnrichedAssetEntity>(), this, app));
            }
        }
Esempio n. 4
0
        public async Task <IActionResult> PostAsset(string app, [SwaggerIgnore] List <IFormFile> file)
        {
            var assetFile = await CheckAssetFileAsync(file);

            var command = new CreateAsset {
                File = assetFile
            };

            var context = await CommandBus.PublishAsync(command);

            var result   = context.Result <AssetCreatedResult>();
            var response = AssetDto.FromAsset(result.Asset, this, app, result.IsDuplicate);

            return(CreatedAtAction(nameof(GetAsset), new { app, id = response.Id }, response));
        }
Esempio n. 5
0
        public async Task <IActionResult> GetAsset(string app, DomainId id)
        {
            var asset = await assetQuery.FindAsync(Context, id, ct : HttpContext.RequestAborted);

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

            var response = Deferred.Response(() =>
            {
                return(AssetDto.FromAsset(asset, Resources));
            });

            return(Ok(response));
        }
        public async Task <IActionResult> GetAsset(string app, Guid id)
        {
            var asset = await assetQuery.FindAssetAsync(Context, id);

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

            var response = Deferred.Response(() =>
            {
                return(AssetDto.FromAsset(asset, this, app));
            });

            return(Ok(response));
        }
Esempio n. 7
0
        public async Task <IActionResult> GetAsset(string app, Guid id)
        {
            var entity = await assetRepository.FindAssetAsync(id);

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

            var response = AssetDto.FromAsset(entity);

            Response.Headers["ETag"]          = entity.Version.ToString();
            Response.Headers["Surrogate-Key"] = entity.Id.ToString();

            return(Ok(response));
        }
Esempio n. 8
0
        public async Task <IActionResult> GetAsset(string app, Guid id)
        {
            var asset = await assetQuery.FindAssetAsync(id);

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

            var response = AssetDto.FromAsset(asset, this, app);

            if (controllerOptions.Value.EnableSurrogateKeys)
            {
                Response.Headers["Surrogate-Key"] = asset.Id.ToString();
            }

            Response.Headers[HeaderNames.ETag] = asset.Version.ToString();

            return(Ok(response));
        }
Esempio n. 9
0
        public async Task <IActionResult> GetAsset(string app, Guid id)
        {
            var context = Context();

            var entity = await assetQuery.FindAssetAsync(context, id);

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

            var response = AssetDto.FromAsset(entity);

            if (controllerOptions.Value.EnableSurrogateKeys)
            {
                Response.Headers["Surrogate-Key"] = entity.Id.ToString();
            }

            Response.Headers["ETag"] = entity.Version.ToString();

            return(Ok(response));
        }
Esempio n. 10
0
        public async Task <IActionResult> GetAsset(string app, Guid id)
        {
            var asset = await assetQuery.FindAssetAsync(Context, id);

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

            var response = Deferred.Response(() =>
            {
                return(AssetDto.FromAsset(asset, this, app));
            });

            if (controllerOptions.EnableSurrogateKeys)
            {
                Response.Headers["Surrogate-Key"] = asset.ToSurrogateKey();
            }

            Response.Headers[HeaderNames.ETag] = asset.ToEtag();

            return(Ok(response));
        }