public CrudRoutinePageConsumerAsync(
     PageModel pageModel,
     PageRoutineFeature pageRoutineFeature,
     PageRoutineHandlerAsync <StorageRoutineHandlerAsync <TUserContext>, TUserContext, TUser> pageRoutineHandler
     )
 {
     this.pageModel          = pageModel;
     this.pageRoutineFeature = pageRoutineFeature;
     this.pageRoutineHandler = pageRoutineHandler;
 }
Example #2
0
        public Task <IActionResult> HandlePageSaveAsync <TEntity>(
            Action <TEntity> setPageEntity,
            PageRoutineFeature pageRoutineFeature,
            Func <
                IRepository <TEntity>,
                RoutineClosure <TUserContext>,
                Func <
                    Func <
                        Func <bool>,
                        Func <HttpRequest, IComplexBinderResult <TEntity> >,
                        Action <TEntity, IBatch <TEntity> >,
                        IActionResult>,
                    IActionResult
                    >
                > action
            ) where TEntity : class =>
        PageRoutineHandler.HandleAsync(async(container, closure) =>
                                       await container.HandleStorageAsync <IActionResult, TEntity>((repository, storage, state) =>
                                                                                                   Task.Run(
                                                                                                       () => MvcHandler.MakeActionResultOnSave(
                                                                                                           repository,
                                                                                                           storage,
                                                                                                           state,
                                                                                                           () => PageModel.Unauthorized(),
                                                                                                           PageModel.HttpContext.Request,
                                                                                                           (n, v) => PageModel.ViewData[n] = v,
                                                                                                           (n, v) => PageModel.ModelState.AddModelError(n, v),

                                                                                                           () => new RedirectResult(pageRoutineFeature.Referrer),
                                                                                                           (m) => {
            return(PageModel.BadRequest());
        },
                                                                                                           o => {
            setPageEntity(o);
            return(PageModel.Page());
        },
                                                                                                           action
                                                                                                           )
                                                                                                       )
                                                                                                   )
                                       );
Example #3
0
 public IActionResult HandlePageSave <TEntity>(
     Action <TEntity> setPageEntity,
     PageRoutineFeature pageRoutineFeature,
     Func <
         IRepository <TEntity>,
         RoutineClosure <TUserContext>,
         Func <
             Func <
                 Func <bool>,
                 Func <HttpRequest, IComplexBinderResult <TEntity> >,
                 Func <HttpRequest, TEntity, Action <string, object>, IComplexBinderResult <ValueTuple <Action <IBatch <TEntity> >, Action> > >,
                 Action <TEntity, IBatch <TEntity> >,
                 IActionResult>,
             IActionResult
             >
         > action
     ) where TEntity : class =>
 PageRoutineHandler.Handle((container, closure) =>
                           container.HandleStorage <IActionResult, TEntity>((repository, storage, state) =>
                                                                            MvcHandler.MakeActionResultOnSave(
                                                                                repository,
                                                                                storage,
                                                                                state,
                                                                                () => PageModel.Unauthorized(),
                                                                                PageModel.HttpContext.Request,
                                                                                (n, v) => PageModel.ViewData[n] = v,
                                                                                (n, v) => PageModel.ModelState.AddModelError(n, v),
                                                                                //Redirect(BackwardString);
                                                                                () => new RedirectResult(pageRoutineFeature.Referrer),
                                                                                (m) => {
     return(PageModel.BadRequest());
 },
                                                                                o => {
     setPageEntity(o);
     return(PageModel.Page());
 },
                                                                                action
                                                                                )
                                                                            )
                           );
 public IActionResult HandlePageSave(
     Action <TEntity> setPageEntity,
     PageRoutineFeature pageRoutineFeature,
     Func <
         IRepository <TEntity>,
         RoutineClosure <TUserContext>,
         Func <
             Func <
                 Func <bool>,
                 Func <HttpRequest, IComplexBinderResult <TEntity> >,
                 Action <TEntity, IBatch <TEntity> >,
                 IActionResult>,
             IActionResult
             >
         > action)
 => Handle(
     handler =>
     handler.HandlePageSave(
         setPageEntity, pageRoutineFeature,
         action
         )
     );
 public Task <IActionResult> HandlePageSaveAsync(
     Action <TEntity> setPageEntity,
     PageRoutineFeature pageRoutineFeature,
     Func <
         IRepository <TEntity>,
         RoutineClosure <TUserContext>,
         Func <
             Func <
                 Func <bool>,
                 Func <HttpRequest, IComplexBinderResult <TEntity> >,
                 Func <HttpRequest, TEntity, Action <string, object>, IComplexBinderResult <ValueTuple <Action <IBatch <TEntity> >, Action> > >,
                 Action <TEntity, IBatch <TEntity> >,
                 IActionResult>,
             IActionResult
             >
         > action)
 => Handle(
     async handler =>
     await handler.HandlePageSaveAsync(
         setPageEntity, pageRoutineFeature,
         action
         )
     );