public override CommandResponse ProcessCommand(object sender, IntegrationEventArgs args)
        {
            var thisService  = (Service)sender;
            var serviceEvent = (ServiceEvent)args.Arguments[0];

            if (thisService == null)
            {
                return(new CommandResponse("d3b2aa93-7e2b-4e0d-8080-67d14b2fa8a9", ReturnStatus.SafeError));
            }

            switch (serviceEvent)
            {
            case ServiceEvent.BeforeDelete:
            case ServiceEvent.BeforeReinstall:
                MySqlController.DeleteDatabase(thisService);
                break;

            case ServiceEvent.BeforeMove:
                MySqlController.BackupDatabaseOnMove(thisService, (TCAdmin.GameHosting.SDK.Automation.GameHostingMoveInfo)((System.Collections.Generic.Dictionary <string, object>)args.Arguments[1])["ThisGameHostingMoveInfo"]);
                break;

            case ServiceEvent.AfterMove:
                MySqlController.RestoreDatabaseOnMove(thisService, (TCAdmin.GameHosting.SDK.Automation.GameHostingMoveInfo)((System.Collections.Generic.Dictionary <string, object>)args.Arguments[1])["ThisGameHostingMoveInfo"]);
                break;
            }

            return(new CommandResponse("d3b2aa93-7e2b-4e0d-8080-67d14b2fa8a9",
                                       ReturnStatus.Ok));
        }
        public override CommandResponse ProcessCommand(object sender, IntegrationEventArgs args)
        {
            var thisService  = (Service)sender;
            var serviceEvent = (ServiceEvent)args.Arguments[0];

            if (thisService == null)
            {
                return(new CommandResponse("d3b2aa93-7e2b-4e0d-8080-67d14b2fa8a9", ReturnStatus.SafeError));
            }

            switch (serviceEvent)
            {
            case ServiceEvent.BeforeDelete:
            case ServiceEvent.BeforeReinstall:
                MySqlController.DeleteDatabase(thisService);
                break;

            case ServiceEvent.BeforeMove:
                MySqlController.BackupDatabaseOnMove(thisService);
                break;

            case ServiceEvent.AfterMove:
                MySqlController.RestoreDatabaseOnMove(thisService);
                break;
            }

            return(new CommandResponse("d3b2aa93-7e2b-4e0d-8080-67d14b2fa8a9",
                                       ReturnStatus.Ok));
        }
Beispiel #3
0
        public override CommandResponse ProcessCommand(object sender, IntegrationEventArgs args)
        {
            if (args.Command != "AfterMove")
            {
                return(new CommandResponse(Globals.ModuleId, ReturnStatus.Ok));
            }

            var service      = (Service)sender;
            var subdomainSet = service.Variables.HasValueAndSet("SD-FullSubDomain");

            if (!subdomainSet)
            {
                return(new CommandResponse(Globals.ModuleId, "Subdomain was not set.",
                                           ReturnStatus.SafeError));
            }

            if (args.Command == ServiceEvent.AfterMove.ToString())
            {
                return(AfterMove(service));
            }

            if (args.Command == ServiceEvent.AfterDelete.ToString())
            {
                return(AfterDelete(service));
            }

            return(new CommandResponse(Globals.ModuleId, "Unknown Service Event",
                                       ReturnStatus.SafeError));
        }
Beispiel #4
0
 /// <summary>
 /// Integrates deserialized tasks into the runtime environment of the current application
 /// </summary>
 /// <param name="sender">the event-sender</param>
 /// <param name="e">the integration arguments containing the package that needs to be integrated</param>
 private void IntegratePendingTasks(object sender, IntegrationEventArgs e)
 {
     IntegrateTask((TTask)e.Task);
 }