public static FluentPropertyRegistration <TData> ThenFlow <TData, TConvert>(this FluentPropertyRegistration <TData> prop, Func <TData, TConvert> converter, IExposedReceiveActor owner, Action <ActorFlowBuilder <TConvert> > flowBuilder) { var aFlow = new ActorFlowBuilder <TConvert>(owner); flowBuilder(aFlow); return(aFlow.OnTrigger(flow => prop.OnChange(v => flow(converter(v))))); }
public static void RespondOnEventSource <TData>(this IExposedReceiveActor actor, IEventSource <TData> eventSource, Action <Maybe <TData> > action) { eventSource.RespondOn(ExposedReceiveActor.ExposedContext.Self); actor.Exposed.Receive <Maybe <TData> >((data, _) => action(data)); }
public EventHolder(IExposedReceiveActor actor, Action <TEvent> handler) { _handler = handler; _actor = actor; }
public static void SubscribeToEvent <TEvent>(this IExposedReceiveActor actor, Action <TEvent> handler) => new EventHolder <TEvent>(actor, handler).Register();
public static FluentPropertyRegistration <TData> ThenFlow <TData>(this FluentPropertyRegistration <TData> prop, IExposedReceiveActor owner, Action <ActorFlowBuilder <TData> > flowBuilder) { var aFlow = new ActorFlowBuilder <TData>(owner); flowBuilder(aFlow); return(aFlow.OnTrigger(ent => prop.OnChange(v => ent(v)))); }