public static JObject jobAutoMap(string source, string dest, string sourceType, string destinationType, string directory) { //Get server data JObject serverSource = DataFactory.GetServer(source, directory); JObject destSource = DataFactory.GetServer(dest, directory); //Get meta data JObject metaSource = FileFactory.GetFile(source + GetTypeAbbrev(sourceType), XferFactory.FileType.Meta, directory); JObject metaDest = FileFactory.GetFile(dest + GetTypeAbbrev(destinationType), XferFactory.FileType.Meta, directory); JObject jobs = new JObject(); JArray mapped = new JArray(); JArray unMapped = new JArray(); bool isMapped = false; //Automap source meta to destination meta foreach (JObject src in metaSource.GetValue(sourceType)) { //If no match, then add to unmapped list if (!isMapped) { src["type"] = "Source"; unMapped.Add(src); } isMapped = false; } //Go through the destination list and see whats not mapped foreach (JObject d in metaDest.GetValue(destinationType)) { //If no match, then add to unmapped list if (!isMapped) { d["type"] = "Destination"; unMapped.Add(d); } //reset the flag isMapped = false; } jobs["mapped"] = mapped; jobs["unMapped"] = unMapped; return(jobs); }
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); } }
public static JObject GetServer(string id, string directory) { return(FileFactory.GetFile(id, XferFactory.FileType.Server, directory)); }
public static JObject GetMeta(string id, string type, string directory) { return(FileFactory.GetFile(id + XferFactory.GetTypeAbbrev(type), XferFactory.FileType.Meta, directory)); }
public static JObject GetJob(string id, string directory) { return(FileFactory.GetFile(id, XferFactory.FileType.Job, directory)); }
public static JObject GetCategoryOptionCombo(string id, string directory) { return(FileFactory.GetFile(id, XferFactory.FileType.CategoryOptionCombo, directory)); }
public static JObject GetOrgUnitLevels(string id, string directory) { return(FileFactory.GetFile(id, XferFactory.FileType.OrgUnitLevels, directory)); }
public static JObject GetOUMapping(string id, string directory) { return(FileFactory.GetFile(id, XferFactory.FileType.OUMapping, directory)); }