public override IState <AssemblyStation> GetNext(AssemblyStation vm, string updatedPropertyName) { if (vm.StInput) { return(new WorkingState(this)); } return(new IdleState(this)); }
public override IState <AssemblyStation> GetNext(AssemblyStation vm, string updatedPropertyName) { AssemblyStation.Blocked = false; AssemblyStation.StOutput = true; if (vm.StInput) { return(new WorkingState(this)); } else { return(new IdleState(this)); } }
public override IState <AssemblyStation> GetNext(AssemblyStation vm, string updatedPropertyName) { if (vm.Intervention) { return(new InterventionState(this)); } if (vm.Alarm) { return(new AlarmState(this)); } if (vm.Excluded) { return(new ExcludedState(this)); } if (!vm.StInput) { return(this); } return(new WorkingState(this)); }
public override IState <AssemblyStation> GetNext(AssemblyStation vm, string updatedPropertyName) { if (vm.Intervention) { return(new InterventionState(this)); } if (updatedPropertyName == "Blocked" || vm.Blocked) { return(new BlockedState(this)); } if (updatedPropertyName == "Run" && vm.Run) { return(this); } if (updatedPropertyName == "StOutput") { return(this); } if (updatedPropertyName == "Run" && vm.StInput && !vm.Blocked) { return(new WorkingState(this)); } return(new IdleState(this)); }
public override bool ChangesState(AssemblyStation vm, string updatedPropertyName) { return(new [] { "Excluded", "Alarm", "Intervention", "StInput" }.Any(name => name == updatedPropertyName)); }
public IdleState(AssemblyStation station) : base(station) { }
public override bool ChangesState(AssemblyStation vm, string updatedPropertyName) { return(updatedPropertyName == "Intervention"); }
public override bool ChangesState(AssemblyStation vm, string updatedPropertyName) { return(updatedPropertyName == "StOutput"); }
public override IState <AssemblyStation> GetNext(AssemblyStation vm, string updatedPropertyName) { return(new IdleState(this)); }
public SimulationService(AssemblyStation vm) { var state = new IdleState(vm); vm.PropertyChanged += state.Notify; }
public override bool ChangesState(AssemblyStation vm, string updatedPropertyName) { return(TransitionVariables.Contains(updatedPropertyName)); }