| | |
| | | { |
| | | public class Importor |
| | | { |
| | | private static List<String> Exclusions = new List<string>() { |
| | | "jp2.aux.xml", |
| | | ".midx", ".strmi", |
| | | ".rrd", ".img.aux.xml", ".hdr", ".img.enp", ".img.xml", |
| | | ".tfw", ".tif.ovr", ".tif.aux.xml", ".tif.enp", ".tif.xml", ".prj", |
| | | ".shx", ".dbf", ".cpg" //, ".prj" |
| | | }; |
| | | |
| | | private static PostgreHelper _ph = null; |
| | | |
| | | public static PostgreHelper Helper |
| | | { |
| | | get |
| | | { |
| | | if (_ph == null) _ph = new PostgreHelper(DbEnum.langfang); |
| | | if (_ph == null) _ph = new PostgreHelper(); |
| | | |
| | | return _ph; |
| | | } |
| | |
| | | |
| | | public static int InsertMeta(SysMeta meta) |
| | | { |
| | | List<DbParameter> list = Tool.GetParams<SysMeta>(insertMeta, meta); |
| | | List<DbParameter> list = Tools.GetParams<SysMeta>(insertMeta, meta); |
| | | |
| | | object obj = Helper.GetScalar(insertMeta, list.ToArray()); |
| | | |
| | |
| | | ViewData vd = new ViewData(); |
| | | vd.ID = i + 1; |
| | | vd.FilePath = files[i]; |
| | | vd.Ext = System.IO.Path.GetExtension(files[i]); |
| | | vd.Status = "准备"; |
| | | viewDatas.Add(vd); |
| | | |
| | |
| | | |
| | | vd.Meta = new SysMeta(); |
| | | vd.Meta.name = fi.Name; |
| | | vd.Meta.dirid = Tool.DirId; |
| | | //vd.Meta.dirid = Common.DirId; |
| | | vd.Meta.depid = 1; |
| | | vd.Meta.verid = 0; |
| | | vd.Meta.type = fi.Extension.ToLower().Replace(".", ""); |
| | | vd.Meta.sizes = Tool.SizeToMb(fi.Length); |
| | | vd.Meta.create_user = Tool.UserId; |
| | | vd.Meta.sizes = Tools.SizeToMb(fi.Length); |
| | | vd.Meta.create_user = CommonProp.UserId; |
| | | } |
| | | |
| | | public static void ImportFiles(ObservableCollection<ViewData> viewDatas, string target) |
| | | public static void ImportFiles(ObservableCollection<ViewData> viewDatas, string target, int start) |
| | | { |
| | | Parallel.ForEach(viewDatas, (vd, ParallelLoopState) => |
| | | { |
| | |
| | | { |
| | | vd.Status = "生成MD5码..."; |
| | | string guid = MD5Helper.GetMD5Hash(vd.FilePath); |
| | | if (IsFileExists(guid)) |
| | | if (!Exclusions.Contains(vd.Ext) && IsFileExists(guid)) |
| | | { |
| | | vd.Status = "已存在!"; |
| | | return; |
| | | } |
| | | |
| | | vd.Status = "插入数据库..."; |
| | | int start = GetSubPath(target, 1); |
| | | SysMeta mf = GetMetaFile(vd, start, guid); |
| | | |
| | | int metaId = InsertMeta(mf); |
| | | if (metaId == 0) |
| | | { |
| | | vd.Status = "元数据出错!"; |
| | | return; |
| | | } |
| | | vd.Status = "获取数据目录..."; |
| | | int subPath = GetSubPath(target, start); |
| | | SysMeta mf = GetMetaFile(vd, subPath, guid); |
| | | |
| | | vd.Status = "复制文件..."; |
| | | CopyFile(vd.FilePath, Path.Combine(target, mf.path)); |
| | | |
| | | vd.Status = "完成。"; |
| | | vd.Status = "准备入库"; |
| | | vd.Meta = mf; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | vd.Status = "失败!"; |
| | | } |
| | | }); |
| | | |
| | | foreach (ViewData vd in viewDatas) |
| | | { |
| | | int metaId = InsertMeta(vd.Meta); |
| | | vd.Status = metaId == 0 ? "元数据出错!" : "完成。"; |
| | | } |
| | | } |
| | | |
| | | public static void ImportFiles2(ObservableCollection<ViewData> viewDatas, string target) |