private void CleanUp() { ContainerFactory.Current.KillAllInstances(); using (var context = new RepositoryFactory().GetRepository()) { try { var sp = from i in context.SubstitutionParameters select i; foreach (var substitutionParameter in sp) { context.DeleteObject(substitutionParameter); } context.SaveChanges(); var envp = from i in context.EnvironmentParameters select i; foreach (var substitutionParameter in envp) { context.DeleteObject(substitutionParameter); } context.SaveChanges(); var envs = from env in context.Environments select env; foreach (var environment in envs) { context.DeleteObject(environment); } context.SaveChanges(); var ep = from cs in context.EndpointParameters select cs; foreach (var i in ep.ToList()) { context.DeleteObject(i); } context.SaveChanges(); var e = from cs in context.Endpoints select cs; foreach (var i in e.ToList()) { context.DeleteObject(i); } context.SaveChanges(); var s = from cs in context.ServiceDescriptions select cs; foreach (var i in s.ToList()) { context.DeleteObject(i); } context.SaveChanges(); var css = from cs in context.ConfigSets select cs; foreach (var i in css.ToList()) { context.DeleteObject(i); } context.SaveChanges(); if (context.ConfigSets.Count() != 0) throw new Exception("Not able to clear database"); } catch (Exception ex) { throw ex; } } ContainerFactory.Current.KillAllInstances(); }
public static FileInfo Backup(string file, string tempDir) { if (File.Exists(file)) File.Delete(file); FileInfo fileInfo = null; var client = new RepositoryFactory().GetRepository(); jobs = new Dictionary<string, IJobInfo>(); StartBackup(ref fileInfo); var service = GetClient(); var running = true; while (running) { running = !jobs.ToList().TrueForAll( j1 => { var j = service.GetJobInfo(j1.Key, j1.Value.JobId); return j.JobCompletedOk || j.JobCompletedWithErrors; }) || jobs.Count == 0; Thread.Sleep(100); } File.Copy(fileInfo.FullName, tempDir + fileInfo.Name); ZipFile.CreateFromDirectory(tempDir, file, CompressionLevel.Optimal, true); ClearTempDir(tempDir); return new FileInfo(file); }