public async Task <IActionResult> GetImageResource(
            [FromRoute, Required] string id,
            [FromHeader(Name = "If-None-Match")] string etag)
        {
            if (string.IsNullOrEmpty(id) || !Guid.TryParse(id, out var guid))
            {
                Logger.LogTrace("Not Found: No Id Specified!");
                return(FormattedNotFound("No Id specified!"));
            }

            var ret = await _resourceModel.GetImageResource(guid);

            var resourceInfo = ret.Item1;
            var stream       = ret.Item2;

            if (resourceInfo == null)
            {
                Logger.LogError("Not Found: Could not found requested Resource");
                return(FormattedNotFound("Could not found requested Resource"));
            }

            if (resourceInfo.ETag.Equals(etag))
            {
                return(FormattedNotModified());
            }

            SetCacheControlHeadersToNoCache();
            Response.Headers.Add("Content-Disposition", $"inline; filename=\"{WebUtility.HtmlEncode(resourceInfo.Name)}\"");
            Response.Headers.Add("Content-Type", resourceInfo.ContentType.ToString());
            Response.Headers.Add("Content-Length", resourceInfo.Size.ToString());
            Response.Headers.Add("ETag", resourceInfo.ETag);

            return(new FileStreamResult(stream, resourceInfo.ContentType.ToString()));
        }