public List <S_Annex> GetAnnexList(AnnexItem data) { return(db.S_Annexs.Get(p => p.S_Project_ID == data.ID && p.IsDeleted == false && p.Type != 4).OrderBy(p => p.Order).ToList()); }
public S_Annex GetDocument(AnnexItem data) { return(db.S_Annexs.Get(p => p.S_Project_ID == data.ID && p.Type == 4 && p.IsDeleted == false).FirstOrDefault()); }
public string GetAnnex(AnnexItem data) { List <S_Annex> annexes = new List <S_Annex>(); string ret = null; annexes.AddRange(GetAnnexList(data)); var doc = GetDocument(data); if (!annexes.Any() && (doc == null || !doc.HasRevision)) { return("none"); } string destPath = string.Format("{0}{1}\\{2}\\", path, data.FolderName, data.Index); FileExt.CheckDirectoryExist(destPath); foreach (var annex in annexes) { try { string destFullPath = string.Format("{0}{1}-{2}.{3}", destPath, annex.Name.FileNameFilter(), annex.Order, annex.Extended); if (string.IsNullOrEmpty(annex.Url)) { // 文件方式存储的,读取Path字段 string originalPath = string.Format("{0}{1}{2}.{3}", storePath, annex.Path, annex.ID, annex.Extended); string r = FileExt.GetFileStoreToServer(originalPath, destFullPath); if (!string.IsNullOrEmpty(r)) { ret += string.Format("1 {4}{0}({1}{2}):{3} ({5})", data.ID, data.SerialNumber, data.Title, annex.ID, Environment.NewLine, r); } } else { // FileCloud存储的,读取Url字段 FileExt.GetFileUrlToServer(annex.Url, destPath); } } catch (Exception ex) { ret += string.Format("2 {4}{0}({1}{2}):{3} ({5})", data.ID, data.SerialNumber, data.Title, annex.ID, Environment.NewLine, ex.Message); } } if (doc == null || !doc.HasRevision) { return(ret); } try { string destFullPath = string.Format("{0}{1}:{2}.{3}", destPath, data.SerialNumber, doc.Name.FileNameFilter(), doc.Extended); string originalPath = string.Format("{0}{1}{2}_FinalVersion.{3}", storePath, doc.Path, doc.ID, doc.Extended); string r = FileExt.GetFileStoreToServer(originalPath, destFullPath); if (!string.IsNullOrEmpty(r)) { ret += string.Format("3 {4}{0}({1}{2}):{3} ({5})", data.ID, data.SerialNumber, data.Title, doc.ID, Environment.NewLine, r); } } catch (Exception ex) { ret += string.Format("4 {4}{0}({1}{2}):{3} ({5})", data.ID, data.SerialNumber, data.Title, doc.ID, Environment.NewLine, ex.Message); } return(ret); }