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); } }
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 }); }