Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
0
 public static JObject GetServer(string id, string directory)
 {
     return(FileFactory.GetFile(id, XferFactory.FileType.Server, directory));
 }
Esempio n. 7
0
 public static JObject GetMeta(string id, string type, string directory)
 {
     return(FileFactory.GetFile(id + XferFactory.GetTypeAbbrev(type), XferFactory.FileType.Meta, directory));
 }
Esempio n. 8
0
 public static JObject GetJob(string id, string directory)
 {
     return(FileFactory.GetFile(id, XferFactory.FileType.Job, directory));
 }
Esempio n. 9
0
 public static JObject GetCategoryOptionCombo(string id, string directory)
 {
     return(FileFactory.GetFile(id, XferFactory.FileType.CategoryOptionCombo, directory));
 }
Esempio n. 10
0
 public static JObject GetOrgUnitLevels(string id, string directory)
 {
     return(FileFactory.GetFile(id, XferFactory.FileType.OrgUnitLevels, directory));
 }
Esempio n. 11
0
 public static JObject GetOUMapping(string id, string directory)
 {
     return(FileFactory.GetFile(id, XferFactory.FileType.OUMapping, directory));
 }