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);
 }
Example #4
0
 public abstract void OnDeleteService(object source, DeleteInfraEventArgs s);