/// <summary> /// Runs the view model filter. /// </summary> /// <param name="vmId">Identifies the view model.</param> /// <param name="vm">View model instance.</param> /// <param name="vmArg">Optional view model argument.</param> private void RunVMFilters(string callType, string vmId, BaseVM vm, object data, Action <object> vmAction) { try { _hubPipeline.RunVMFilters(Context, callType, vmId, vm, data, Principal, ctx => { vmAction(ctx.HubContext.Data); return(Task.CompletedTask); }); } catch (TargetInvocationException ex) { throw ex.InnerException; } }
/// <summary> /// Runs the view model filter. /// </summary> /// <param name="vmId">Identifies the view model.</param> /// <param name="vm">View model instance.</param> /// <param name="data">View model data.</param> /// <param name="vmArg">Optional view model argument.</param> private void RunVMFilters(BaseVM vm, object data, Action <object> vmAction) { try { _hubContext.Data = data; _hubPipeline.RunVMFilters(_hubContext, vm, ctx => { vmAction(ctx.HubContext.Data); return(Task.CompletedTask); }); } catch (TargetInvocationException ex) { throw ex.InnerException; } }
/// <summary> /// Creates view model filter delegate that runs before it is requested/updated. /// </summary> /// <param name="hubContext">DotNetify hub context.</param> /// <param name="hubPipeline">Middleware/VM filter pipeline.</param> /// <returns>View model filter delegate.</returns> private VMController.FilterDelegate CreateVMFilter(DotNetifyHubContext hubContext, IHubPipeline hubPipeline) { return((vmId, vm, data, vmAction) => { try { hubContext.Data = data; hubPipeline.RunVMFilters(hubContext, vm, ctx => { vmAction(ctx.HubContext.Data); return Task.CompletedTask; }); } catch (TargetInvocationException ex) { throw ex.InnerException; } }); }