private void UpdateInstance(ApplicationInstance appInstance) { string rootFolder = _settings.RepositoryFolder; if (!Directory.Exists(rootFolder)) { throw new ApplicationException($"Directory {rootFolder} does not exists"); } if (string.IsNullOrEmpty(_settings.InstancesRootFolder)) { throw new ApplicationException("Instances RootFolder is not defined"); } RaiseUpdateProgerss($"Update {appInstance.VirtualApplicationName}"); List<UpdateComponentBase> components = CreateUpdateComponentsList(appInstance); foreach (var component in components) component.PreCopySources(); foreach (var component in components) component.CopySources(); foreach (var component in components) component.PostCopySources(); foreach (var component in components) component.UpdateConfig(); foreach (var component in components) component.PostUpdateConfig(); foreach (var component in components) component.PrepareStart(); }
private void buttonAddSetting_Click(object sender, RoutedEventArgs e) { ApplicationInstance model = new ApplicationInstance(); AppInstance window = new AppInstance(); window.DataContext = model; window.Owner = this; window.ShowDialog(); if (window.DialogResult == true) { _model.SiteConfig.Instances.Add(model); } }
private List<UpdateComponentBase> CreateUpdateComponentsList(ApplicationInstance appInstance) { List<UpdateComponentBase> components = new List<UpdateComponentBase>(); if (appInstance.IsUpdateWorker) { var updateComponent = new WorkerComponent(_settings, appInstance); updateComponent.Init(RaiseUpdateProgerss); components.Add(updateComponent); } if (appInstance.IsUpdateSite) { var updateComponent = new WebSiteComponent(_settings, appInstance); updateComponent.Init(RaiseUpdateProgerss); components.Add(updateComponent); } if (appInstance.IsUpdateDb) { var updateComponent = new DbUpdaterComponent(_settings, appInstance); updateComponent.Init(RaiseUpdateProgerss); components.Add(updateComponent); } return components; }
public UpdateComponentBase(SiteInstance siteConfig, ApplicationInstance appplicationConfig) { SiteConfig = siteConfig; ApplicationConfig = appplicationConfig; PredefinedConfigOverride = new List<ConfigOverride>(); }
public WebSiteComponent(SiteInstance siteConfig, ApplicationInstance appplicationConfig) : base(siteConfig, appplicationConfig) { }