public static JArray GetServers(string directory) { //Get a list of all server files List <string> serverList = FileFactory.GetFileList(XferFactory.FileType.Server, directory); JArray servers = new JArray(); foreach (var s in serverList) { JObject server = FileFactory.ReadFile(s); servers.Add(server); } return(servers); }
private static JArray GetFiles(XferFactory.FileType type, string directory) { //Get a list of all server files List <string> list = FileFactory.GetFileList(type, directory); JArray objList = new JArray(); foreach (var l in list) { JObject o = FileFactory.ReadFile(l); objList.Add(o); } return(objList); }
public static JArray GetXfers(string directory) { //Get a list of all server files List <string> list = FileFactory.GetFileList(XferFactory.FileType.XferMeta, directory); JArray objList = new JArray(); foreach (var l in list) { int index = l.IndexOf(".xfermeta"); if (index != -1) { JObject o = FileFactory.ReadFile(l); objList.Add(o); } } return(objList); }
public static void RemoveServer(string id, string directory) { //Remove Server and all related meta data FileFactory.RemoveFile(id, XferFactory.FileType.Server, directory); FileFactory.RemoveFile(id, XferFactory.FileType.Meta, directory); FileFactory.RemoveFile(id, XferFactory.FileType.OrgUnitGroup, directory); FileFactory.RemoveFile(id, XferFactory.FileType.OrgUnitLevels, directory); FileFactory.RemoveFile(id, XferFactory.FileType.OrgUnits, directory); List <string> ouMapping = FileFactory.GetFileList(XferFactory.FileType.OUMapping, directory); foreach (var oum in ouMapping) { if (oum.Contains(id)) { string oumID = oum.Substring(oum.LastIndexOf('\\') + 1); oumID = oumID.Substring(0, oumID.IndexOf('.')); FileFactory.RemoveFile(oumID, XferFactory.FileType.OUMapping, directory); } } //Remove jobs related to the server JArray jobs = GetJobs(directory); List <string> removedJobs = new List <string>(); foreach (JObject j in jobs) { JObject meta = (JObject)j.GetValue("meta"); string jobID = meta.GetValue("id").ToString(); string source = meta.GetValue("source").ToString(); string destination = meta.GetValue("destination").ToString(); if (source == id || destination == id) { FileFactory.RemoveFile(jobID, XferFactory.FileType.Job, directory); removedJobs.Add(jobID); } } //Remove jobs from the xfer files JArray xfers = DataFactory.GetXfers(directory); JArray keptJobs = new JArray(); foreach (JObject x in xfers) { string xferID = x.GetValue("id").ToString(); JArray xJobs = (JArray)x.GetValue("jobs"); foreach (string j in xJobs) { if (!removedJobs.Contains(j)) { keptJobs.Add(j); } } x["count"] = keptJobs.Count(); x["jobs"] = keptJobs; //Rebuild the Xfer file using the meta data JObject newXfer = RebuildXfer(x, directory); FileFactory.WriteFile(newXfer, xferID.ToString(), XferFactory.FileType.Xfer, directory); //Meta file for when we want to list Xfer files but not load all the data FileFactory.WriteFile(x, xferID.ToString(), XferFactory.FileType.XferMeta, directory); } }