コード例 #1
0
        public async Task <ShapeBinding> GetDescriptorBindingAsync(string shapeType)
        {
            if (AdminAttribute.IsApplied(_httpContextAccessor.HttpContext))
            {
                return(null);
            }

            var localTemplates = _previewTemplatesProvider.GetTemplates();

            if (localTemplates != null)
            {
                if (localTemplates.Templates.TryGetValue(shapeType, out var localTemplate))
                {
                    return(BuildShapeBinding(shapeType, localTemplate));
                }
            }

            if (_templatesDocument == null)
            {
                _templatesDocument = await _templatesManager.GetTemplatesDocumentAsync();
            }

            if (_templatesDocument.Templates.TryGetValue(shapeType, out var template))
            {
                return(BuildShapeBinding(shapeType, template));
            }
            else
            {
                return(null);
            }
        }
コード例 #2
0
 public TemplatesShapeBindingResolver(
     TemplatesManager templatesManager,
     ILiquidTemplateManager liquidTemplateManager,
     PreviewTemplatesProvider previewTemplatesProvider,
     IHttpContextAccessor httpContextAccessor)
 {
     _templatesDocument        = templatesManager.GetTemplatesDocumentAsync().GetAwaiter().GetResult();
     _liquidTemplateManager    = liquidTemplateManager;
     _previewTemplatesProvider = previewTemplatesProvider;
     _httpContextAccessor      = httpContextAccessor;
 }