public CrudRoutinePageConsumerAsync( PageModel pageModel, PageRoutineFeature pageRoutineFeature, PageRoutineHandlerAsync <StorageRoutineHandlerAsync <TUserContext>, TUserContext, TUser> pageRoutineHandler ) { this.pageModel = pageModel; this.pageRoutineFeature = pageRoutineFeature; this.pageRoutineHandler = pageRoutineHandler; }
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 ) ) ) );
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 ) );