Ejemplo n.º 1
0
 public static WFStateViewModel FromEntity(WFStates entity)
 {
     return(new WFStateViewModel
     {
         StateId = entity.StateId,
         State = entity.State,
         StateName = entity.StateName,
         appCode = entity.appCode
     });
 }
Ejemplo n.º 2
0
        public void Run()
        {
            nState = _wfStates[0];
            //var newState = new State()
            IOU = new iouHeader()
            {
                Status = 1,
                ID     = 1
            };

            WFMachine = new StateMachine <int, int>(
                () => IOU.Status,
                s => IOU.Status = s);

            int i = 0;

            foreach (var state in _wfStates)
            {
                i++;
                //nState = _wfStates.Where(item => item.ID == state.Value.Name).FirstOrDefault();

                WFMachine.Configure(state.ID)
                .OnEntry(() => PrintStateOnEntry())
                .OnExit(t => PrintStateOnExit());

                foreach (var WFPermittedTrigger in state.WFPermittedTriggers)
                {
                    var destState = _wfStates.Where(item => item.ID == WFPermittedTrigger.PermittedStateID).FirstOrDefault();
                    var trig      = _wftriggers.Where(item => item.ID == WFPermittedTrigger.TriggerID).FirstOrDefault();
                    WFMachine.Configure(state.ID)
                    .Permit(trig.ID, destState.ID);
                }
            }

            var forFireState = _wfStates.FirstOrDefault();

            if (WFMachine.CanFire(1))
            {
                WFMachine.Fire(1);
            }

            if (WFMachine.CanFire(2))
            {
                WFMachine.Fire(2);
            }

            if (WFMachine.CanFire(4))
            {
                WFMachine.Fire(4);
            }
        }