Пример #1
0
        public IFlowPlan StartFlow(FlowDefinition definition)
        {
            IFlowPlan flowPlan = CreateFlow(definition);

            flowPlan.Start();

            return(flowPlan);
        }
Пример #2
0
        public override void GenerateFlowPlanItem(IFlowSourceDefinition <T> parent, IFlowPlan plan, FlowLinkDefinition <T> link)
        {
            plan.AddBatcher(parent.BlockInfo.Id, this, link);

            foreach (FlowLinkDefinition <List <T> > outboundLink in OutboundLinks)
            {
                outboundLink.Target.GenerateFlowPlanItem(this, plan, outboundLink);
            }
        }
        public override void GeneratePlanItem(IFlowPlan plan)
        {
            plan.AddProducer(this);

            foreach (FlowLinkDefinition <T> link in OutboundLinks)
            {
                link.Target.GenerateFlowPlanItem(this, plan, link);
            }
        }
Пример #4
0
        private IFlowPlan CreateFlow(FlowDefinition definition)
        {
            definition.Logger ??= Logger;
            definition.AuditLogger ??= AuditLogger;

            IFlowPlan flowPlan = _planFactory.GeneratePlan(definition);

            if (!_flowPlans.TryAdd(definition.ServiceInfo.Id, flowPlan))
            {
                throw new Exception("Plan already exists.");
            }

            return(flowPlan);
        }
 public void GenerateFlowPlanItem(IFlowSourceDefinition <T> parent, IFlowPlan plan, FlowLinkDefinition <T> link)
 {
     plan.AddConsumer <T>(parent.BlockInfo.Id, this, link);
 }
Пример #6
0
 public abstract void GeneratePlanItem(IFlowPlan plan);
Пример #7
0
 public abstract void GenerateFlowPlanItem(IFlowSourceDefinition <TIn> parent, IFlowPlan plan, FlowLinkDefinition <TIn> link);