Exemplo n.º 1
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);
            }
        }
Exemplo n.º 2
0
 public static iouHeaderViewModel FromEntity(iouHeader entity)
 {
     return(new iouHeaderViewModel
     {
         IouId = entity.IouId,
         DocDate = entity.DocDate,
         DueDate = entity.DueDate,
         Status = entity.Status,
         RequestAmount = entity.RequestAmount,
         EmployeeID = entity.EmployeeID,
         ProjectCode = entity.ProjectCode,
         SiteCode = entity.SiteCode,
         Comments = entity.Comments
     });
 }