public bool Delete(Infrastructure infrastructure) { var eventArgs = new DeleteInfraEventArgs { Infrastructure = infrastructure, Deleted = false }; OnDeleteInfrastructure(eventArgs); return(eventArgs.Deleted); }
public override void OnDeleteService(object source, DeleteInfraEventArgs e) { if (e.Infrastructure.CloudProviderId != (int)AppEnums.CloudProvider.IGS) { return; } //Implementation of delete infrastructure on IGS provider //Goes here //.. //.. //.. //.. //------------- #region delete infrastructure var infraPath = Path.Combine(Environment.CurrentDirectory, e.Infrastructure.CloudProvider.Name); infraPath = Path.Combine(infraPath, e.Infrastructure.Name); var allInfraResources = Directory.GetDirectories(infraPath); //delete resources directories foreach (var resource in allInfraResources) { //delete all files in resource var resourceFiles = Directory.GetFiles(Path.Combine(infraPath, resource)); foreach (var resourceFile in resourceFiles) { File.Delete(resourceFile); } //delete resource directory Directory.Delete(Path.Combine(infraPath, resource)); } //delete infrastructure directory Directory.Delete(infraPath); #endregion delete infrastructure e.Deleted = true; }
protected void OnDeleteInfrastructure(DeleteInfraEventArgs e) { DeleteInfrastructure?.Invoke(this, e); }
public abstract void OnDeleteService(object source, DeleteInfraEventArgs s);