示例#1
0
        public async Task CompleteButtonInteractionAsync(IEditorButtonInteractionRequestModel request)
        {
            var(handler, button) = FindButtonHandler(request.EditContext.CollectionAlias, request.ActionId);

            var context = new ButtonContext(request.EditContext.Parent, request.CustomData);

            await handler.ButtonClickAfterRepositoryActionAsync(button, request.EditContext, context);
        }
示例#2
0
        public async Task <CrudType> ValidateButtonInteractionAsync(IEditorButtonInteractionRequestModel request)
        {
            var(handler, button) = FindButtonHandler(request.EditContext.CollectionAlias, request.ActionId);

            await _authService.EnsureAuthorizedUserAsync(request.EditContext, button);

            if (handler.RequiresValidForm(button, request.EditContext) && !request.EditContext.IsValid())
            {
                throw new InvalidEntityException();
            }

            var context = new ButtonContext(request.EditContext.Parent, request.CustomData);

            return(await handler.ButtonClickBeforeRepositoryActionAsync(button, request.EditContext, context));
        }