Ejemplo n.º 1
0
        protected internal BaseScriptGenerator(IBackupRemoverViewModel model, IProfile profile)
        {
            _model = model;

            _profilesProvider       = Create.New <IProfilesProvider>();
            _serviceScriptGenerator = Create.WithCurrentProfile <IServiceScriptGenerator>();
            _iisScriptGenerator     = new IisScriptGenerator();
            _filesScriptGenerator   = new FilesScriptGenerator();
        }
Ejemplo n.º 2
0
        public static T WithParam <T>(IBackupRemoverViewModel model) where T : class
        {
            var profile = New <IProfilesProvider>().SelectedProfile;

            switch (model.EmbeddedActivity)
            {
            case EmbeddedActivity.Backup: return(new BackupScriptGenerator(model, profile) as T);

            case EmbeddedActivity.Remove: return(new RemoverScriptGenerator(model, profile) as T);

            case EmbeddedActivity.Restore: return(new RestoreScriptGenerator(model, profile) as T);
            }

            throw new NotImplementedException();
        }
        internal BackupScriptGenerator(IBackupRemoverViewModel model, IProfile profile) : base(model, profile)
        {
            Script = Path.Combine(Folders.Cache, $"Backup_{profile.Website}_{DateTime.Now:yyyy-MM-dd}.ps1");

            executionScript = GenerateParameters(CommerceSitesParameters);

            GenerateFilesystemScript();

            if (model.ProcessDatabases)
            {
                GenerateDatabaseScript();
            }

            ShowFinalOutput("Backup");

            SaveScriptToCacheFile();
        }
        internal RestoreScriptGenerator(IBackupRemoverViewModel model, IProfile profile) : base(model, profile)
        {
            Script = Path.Combine(Folders.Cache, $"Restore_{new DirectoryInfo(model.WebsiteFolder).Name}_{DateTime.Now:yyyy-MM-dd}.ps1");

            executionScript = GenerateParameters(CommerceSitesParameters);

            if (model.WebsiteChecked)
            {
                GenerateFilesystemScript();
            }

            if (model.ProcessDatabases)
            {
                GenerateDatabaseScript();
            }

            GenerateServicesScript();

            ShowFinalOutput("Restore");

            SaveScriptToCacheFile();
        }
Ejemplo n.º 5
0
 public void AddBackupRemoveParameters(Dictionary <string, dynamic> parameters, IBackupRemoverViewModel model)
 {
     parameters.Add(Settings.Parameters.TargetFolder, model.DestinationFolder);
     parameters.Add(Settings.Parameters.XConnectFolder, model.XConnectFolder);
     parameters.Add(Settings.Parameters.IdentityServerFolder, model.IdentityFolder);
     parameters.Add(Settings.Parameters.HorizonFolder, model.HorizonFolder);
     parameters.Add(Settings.Parameters.PublishingServiceFolder, model.PublishingFolder);
     parameters.Add(Settings.Parameters.Databases, model.Databases);
 }
Ejemplo n.º 6
0
        private async Task Run(IBackupRemoverViewModel model, Dictionary <string, object> parameters)
        {
            var iScript = Create.WithParam <IScript>(model);

            await PrepareAndStart(await LocalOrRemote(iScript.Script), parameters);
        }