Пример #1
0
        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();
        }