public static void Register() { GetState = dm => dm.State; new Execute(DisconnectedMachineOperation.Save) { FromStates = { DisconnectedMachineState.Connected }, ToStates = { DisconnectedMachineState.Connected }, CanBeNew = true, CanBeModified = true, Execute = (dm, _) => { } }.Register(); new Execute(DisconnectedMachineOperation.UnsafeUnlock) { FromStates = { DisconnectedMachineState.Disconnected, DisconnectedMachineState.Faulted, DisconnectedMachineState.Fixed, DisconnectedMachineState.Connected }, //not fully disconnected ToStates = { DisconnectedMachineState.Connected }, Execute = (dm, _) => { ImportManager.UnlockTables(dm.ToLite()); dm.State = DisconnectedMachineState.Connected; } }.Register(); new Graph <DisconnectedImportEntity> .ConstructFrom <DisconnectedMachineEntity>(DisconnectedMachineOperation.FixImport) { CanConstruct = dm => dm.State.InState(DisconnectedMachineState.Faulted), Construct = (dm, _) => { return(ImportManager.BeginImportDatabase(dm, null).RetrieveAndRemember()); } } .Register(); }