/*
         * {
         *      { 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1 },
         *      { 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1 },
         *      { 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0 },
         *      { 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1 },
         *      { 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1 },
         *      { 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1 },
         *      { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
         *      { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
         *
         * };
         */


        static void Main(string[] args)
        {
            // Console.WriteLine("Hello World!");
            //ShortestPathFinder spf = new ShortestPathFinder(GRID);
            SPF spf = new SPF(GRID);

            var isFound = spf.findPath();

            Console.WriteLine("Path Found : " + isFound);

            Console.WriteLine(spf.ToString());
        }
Пример #2
0
        /// <summary>
        /// 获取版本信息--服务器
        /// </summary>
        /// <returns></returns>
        private static string GetVersionService(string systemName)
        {
            try
            {
                IVersionManage iVersionManage = SPF.Create <IVersionManage>("Server.ServiceLayer.AutoUpdate.VersionManageSL", RCT.NoneMode);
                string         version        = iVersionManage.GetVersion(systemName);

                return(version);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(null);
            }
        }
Пример #3
0
        private void fetch_Click(object sender, EventArgs e)
        {
            string LocalLIB = IBMiUtils.GetLocalDir(lib.Text);

            string[] Dirs = Directory.GetDirectories(LocalLIB), MbrPath;
            string   Name, Ext, LocalMember, SPF;
            bool     CheckedUpload = false;

            foreach (string Dir in Dirs)
            {
                SPF = Path.GetFileName(Dir);

                if (SPF.StartsWith("."))
                {
                    continue;
                }

                RemoteSource[] MemberList = IBMiUtils.GetMemberList(lib.Text, SPF);
                if (MemberList == null)
                {
                    CreateSPFs.Add(SPF, 112);
                }

                foreach (string FilePath in Directory.GetFiles(Dir))
                {
                    Name = SPF + '/' + Path.GetFileNameWithoutExtension(FilePath);
                    Ext  = Path.GetExtension(FilePath).TrimStart('.');

                    if (UploadMembers.ContainsKey(Name))
                    {
                        continue;
                    }

                    if (MemberList == null)
                    {
                        CreateMembers.Add(Name, Ext);
                    }
                    else
                    {
                        if (MemberList.Where(x => (x.GetObject() + '/' + x.GetName()) == Name).Count() == 0)
                        {
                            CreateMembers.Add(Name, Ext);
                        }
                    }

                    UploadMembers.Add(Name, Ext);
                }

                if (MemberList != null)
                {
                    foreach (RemoteSource MemberInfo in MemberList)
                    {
                        LocalMember = IBMiUtils.GetLocalFile(MemberInfo.GetLibrary(), MemberInfo.GetObject(), MemberInfo.GetName(), MemberInfo.GetExtension());
                        if (!File.Exists(LocalMember))
                        {
                            DeleteMembers.Add(MemberInfo.GetObject() + "/" + MemberInfo.GetName());
                        }
                    }
                }
            }

            foreach (var SPFInfo in CreateSPFs)
            {
                commandLog.Items.Add(new ListViewItem(SPFInfo.Key + " (" + SPFInfo.Value.ToString() + ")", commandLog.Groups[0]));
            }

            foreach (string MemberName in DeleteMembers)
            {
                commandLog.Items.Add(new ListViewItem(MemberName, commandLog.Groups[1]));
            }

            foreach (var MemberInfo in CreateMembers)
            {
                commandLog.Items.Add(new ListViewItem(MemberInfo.Key + "." + MemberInfo.Value, commandLog.Groups[2]));
            }

            foreach (var MemberName in UploadMembers)
            {
                MbrPath       = MemberName.Key.Trim().Split('/');
                CheckedUpload = FileCache.EditsContains(lib.Text.ToUpper(), MbrPath[0], MbrPath[1]);
                memberLog.Items.Add(new ListViewItem(MemberName.Key)
                {
                    Checked = CheckedUpload
                });
            }

            pushButton.Enabled  = true;
            fetch.Enabled       = false;
            lib.Enabled         = false;
            runCommands.Enabled = true;
        }