Exemplo n.º 1
0
 public Task <IActionResult> HandleAsync(Func <IRepository <TEntity>, RoutineClosure <TUserContext>, Task <IActionResult> > func
                                         )
 {
     return(pageRoutineHandler.HandleAsync(async(container, closure) => await container.HandleRepositoryAsync <IActionResult, TEntity>(
                                               repository => func(repository, closure)
                                               )));
 }
Exemplo n.º 2
0
        public Task <IActionResult> HandlePageRequestAsync <TKey, TEntity>(
            Action <TEntity> setPageEntity,
            Func <
                IRepository <TEntity>,
                RoutineClosure <TUserContext>,
                Func <
                    Func <
                        Func <bool>,
                        Func <string, ValuableResult <TKey> >,
                        Func <TKey, TEntity>,
                        Action <TEntity, Action <string, object> >,
                        IActionResult>,
                    IActionResult>
                > action
            ) where TEntity : class =>

        PageRoutineHandler.HandleAsync(async(container, closure) =>
                                       await container.HandleRepositoryAsync <IActionResult, TEntity>(repository =>
                                                                                                      Task.Run(() =>
                                                                                                               MvcHandler.MakeActionResultOnRequest(
                                                                                                                   repository,

                                                                                                                   (n, v) => PageModel.ViewData[n] = v,
                                                                                                                   () => PageModel.Unauthorized(),
                                                                                                                   PageModel.HttpContext.Request,
                                                                                                                   o => {
            setPageEntity(o);
            return(PageModel.Page());
        },
                                                                                                                   (m) => {
            return(PageModel.BadRequest());
        },
                                                                                                                   PageModel.NotFound,
                                                                                                                   (r) => action(r, closure)
                                                                                                                   )
                                                                                                               )
                                                                                                      )
                                       );