Exemplo n.º 1
0
        public string GetFile()
        {
            var currentFile = string.Empty;

            if (!System.IO.Directory.Exists(Folder))
            {
                Console.WriteLine("不存在文件夹:" + Folder);
                return(currentFile);
            }
            var files = DialogClass.GetSpecialFiles(Folder, Filter);

            if (files.Count == 0)
            {
                Console.WriteLine(string.Format("文件夹:{0}下不存在{1}的文件", Folder, Filter));
                return(currentFile);
            }
            foreach (var item in files)
            {
                var info = new FileInfo(item);
                var name = info.Name.Replace("(", "(").Replace(")", ")");
                if (Regex.IsMatch(name, RegexString))
                {
                    currentFile = item;
                    break;
                }
            }
            return(currentFile);
        }
Exemplo n.º 2
0
        public void Program()
        {
            //路径核对
            if (!CheckFolder())
            {
                Dispose();
                return;
            }
            var resultComplete = new ResultComplete(_folder)
            {
                Children = XmlManager.Get("/Folders/Folder", "Name", XmlEnum.DataTree)
            };                      //数据完整性

            resultComplete.Check(); //核对质检数据文件夹下面的文件夹是否存在
            _messages.AddRange(resultComplete.Messages);

            _folderTool.AddRange(resultComplete.ExistPath.Select(e => new FileFolder()
            {
                Folder    = e,
                FileNames = XmlManager.GetChildren(string.Format("/Folders/Folder[@Name='{0}']", new DirectoryInfo(e).Name), "Name", XmlEnum.DataTree),
                //ReportPath=ReportPath,
                CityName = _cityName,
                Code     = _cityCode
            }));
            foreach (var tool in _folderTool)
            {
                tool.Check();//核对每个文件夹下面的文件是否存在  是否能够打开
            }
            var path = System.IO.Path.Combine(_folder, DataBase);

            if (System.IO.Directory.Exists(path))
            {
                var mdbfiles = DialogClass.GetSpecialFiles(path, "*.mdb");//获取空间数据的mdb文件
                if (mdbfiles.Count == 0)
                {
                    _messages.Add("空间数据库文件夹下未找到相关*.mdb文件");
                }
                else
                {
                    var currentMdbFile = string.Empty;
                    foreach (var item in mdbfiles)
                    {
                        var info = new FileInfo(item);
                        if (Regex.IsMatch(info.Name, @"^[\u4e00-\u9fa5]+\(\d{6}\)农村存量建设用地调查成功空间数据库.mdb$"))
                        {
                            currentMdbFile = item;
                            break;
                        }
                    }
                    if (string.IsNullOrEmpty(currentMdbFile))
                    {
                        _messages.Add(string.Format("未找到空间数据库文件"));
                    }
                    else
                    {
                        TableHeart.Program(currentMdbFile, IDS);

                        var gisheart = new ArcGISHeart()
                        {
                            MDBFilePath = currentMdbFile, FeatureClassNames = XmlClass.GetRequireTables()
                        };
                        gisheart.Program();
                    }
                }
            }
            else
            {
                _messages.Add("不存在文件夹路径" + path + ",故无法进行空间数据库核查");
            }

            Dispose();
        }