public ArrayList GetAllFileByServiceWithCustomziedate(string customizedate) { ArrayList fileList = new ArrayList(); string message = string.Empty; string diskpath = string.Empty; string parentpath = string.Empty; if (this.CheckFileList != null && this.CheckFileList.Count > 0) { this.CheckFileList = new ArrayList(); } foreach (InvolvedService curtService in Enum.GetValues(typeof(InvolvedService))) { if (curtService.ToString().ToLower() == "includes".ToLower()) { diskpath = CommonFun.GetConfigurationValue("GlobalIncludeDir", ref message); parentpath = string.Format("{0}", diskpath); } else { diskpath = CommonFun.GetConfigurationValue("GlobalArticleDir", ref message); parentpath = string.Format("{0}\\{1}", diskpath, curtService.ToString().Replace('_', '-')); } this.GetAllFilesInDirectoryWithCustomizedate(parentpath, customizedate); } fileList = this.CheckFileList; return(fileList); }
public void SetFullPathName(string[] para) { string diskpath = ""; string message = ""; string relativefile = ""; if (para[0].ToLower() == "articles") { diskpath = CommonFun.GetConfigurationValue("GlobalArticleDir", ref message); relativefile = GetRightFileName(para); this.Fullpath = string.Format(@"{0}\{1}\{2}", diskpath, relativefile, this.File); this.ArticleCategory = FileCategory.Article; } if (para[0].ToLower() == "includes") { diskpath = CommonFun.GetConfigurationValue("GlobalIncludeDir", ref message); relativefile = GetRightFileName(para); this.Fullpath = string.Format(@"{0}\{2}", diskpath, relativefile, this.File); this.ArticleCategory = FileCategory.Includes; } }
public ArrayList GetAllFileByService() { ArrayList fileList = new ArrayList(); string message = string.Empty; string diskpath = string.Empty; string parentpath = string.Empty; if (this.CheckFileList != null && this.CheckFileList.Count > 0) { this.CheckFileList = new ArrayList(); } foreach (InvolvedService curtService in Enum.GetValues(typeof(InvolvedService))) { diskpath = CommonFun.GetConfigurationValue("RepositoryZHCNArticleDir", ref message); parentpath = string.Format("{0}\\{1}", diskpath, curtService.ToString().Replace('_', '-')); this.GetAllFilesInDirectory(parentpath); } fileList = this.CheckFileList; return(fileList); }
public string FindParentOfIncludeFile() { string parentFile = string.Empty; //string parentFile = this.GetParentIncludeFileOfIncludeFile(); string message = string.Empty; string diskpath = CommonFun.GetConfigurationValue("GlobalArticleDir", ref message); string parentpath = string.Empty; string filecontent = string.Empty; string regRule = "\\[\\!INCLUDE \\[([\\S|\\s]+)(\\.md)?\\]\\(((\\.\\.\\/)*)includes\\/{0}\\)\\]"; //string regRule = "\\[\\!INCLUDE \\[(\\S+)(\\.md)?\\]\\(((\\.\\.\\/)*)includes\\/{0}\\)\\]"; Regex reg; FileStream fs; StreamReader sr; StreamWriter sw; bool findFile = false; foreach (InvolvedService curtService in Enum.GetValues(typeof(InvolvedService))) { if (this.CheckFileList != null && this.CheckFileList.Count > 0) { this.CheckFileList = new ArrayList(); } findFile = false; parentpath = string.Format("{0}\\{1}", diskpath, curtService.ToString().Replace('_', '-')); this.GetAllFilesInDirectory(parentpath); ArrayList fileList = this.CheckFileList; foreach (string curtFile in fileList) { //Console.WriteLine(string.Format("Tread[{0}] checking {1}", this.Id, curtFile)); try { Mutex fileMutex = new Mutex(true, GetMetuxFileName(curtFile)); fileMutex.WaitOne(); fs = new FileStream(curtFile, FileMode.OpenOrCreate); try { sr = new StreamReader(fs); filecontent = sr.ReadToEnd(); sr.Close(); reg = new Regex(string.Format(regRule, this.File.Replace(".", "\\."))); if (reg.IsMatch(filecontent)) { sw = new StreamWriter(curtFile, false); filecontent += string.Format("\n<!--Not Available the parent file of includes file of {0}-->", this.File); filecontent += string.Format("\n<!--ms.date:{0}-->", this.CustomizedDate); sw.Write(filecontent); sw.Flush(); sw.Close(); parentFile = curtFile; findFile = true; } } catch (Exception ex) { Console.WriteLine(ex.Message.ToString()); } finally { fileMutex.ReleaseMutex(); if (fs != null) { fs.Close(); fs = null; } } if (findFile == true) { break; } } catch (Exception ex) { } } if (findFile == true) { break; } } return(parentFile); }
public string GetParentIncludeFileOfIncludeFile() { string parentInclude = string.Empty; string message = string.Empty; string parentpath = CommonFun.GetConfigurationValue("GlobalIncludeDir", ref message); string filecontent = string.Empty; string regRule = "\\[\\!INCLUDE \\[([\\S|\\s]+)(\\.md)?\\]\\(((\\.\\.\\/)*)includes\\/{0}\\)\\]"; string curtCheckFile = string.Empty; Regex reg; FileStream fs; StreamReader sr; StreamWriter sw; bool findFile = false; if (this.CheckFileList != null && this.CheckFileList.Count > 0) { this.CheckFileList = new ArrayList(); } this.GetAllFilesInDirectory(parentpath); ArrayList fileList = this.CheckFileList; int idx = 1; parentInclude = this.Fullpath; while (parentInclude != string.Empty) { foreach (string curtFile in fileList) { //Console.WriteLine(string.Format("Tread[{0}] checking {1}", this.Id, curtFile)); try { curtCheckFile = curtFile; Mutex fileMutex = new Mutex(true, GetMetuxFileName(curtCheckFile)); fileMutex.WaitOne(); fs = new FileStream(curtCheckFile, FileMode.OpenOrCreate); try { sr = new StreamReader(fs); filecontent = sr.ReadToEnd(); sr.Close(); reg = new Regex(string.Format(regRule, Path.GetFileName(parentInclude).Replace(".", "\\."))); if (reg.IsMatch(filecontent)) { sw = new StreamWriter(curtCheckFile, false); filecontent += string.Format("\n<!--Not Available the {0} parent file {1} of includes file of {2}-->", idx, Path.GetFileName(curtCheckFile), Path.GetFileName(parentInclude)); filecontent += string.Format("\n<!--ms.date:{0}-->", this.CustomizedDate); sw.Write(filecontent); sw.Flush(); sw.Close(); parentInclude = curtCheckFile; this.ParentIncludeFile = Path.GetFileName(parentInclude); findFile = true; } } catch (Exception ex) { Console.WriteLine(ex.Message.ToString()); } finally { fileMutex.ReleaseMutex(); if (fs != null) { fs.Close(); fs = null; } } if (findFile == true) { break; } } catch (Exception ex) { } } if (findFile == false) { parentInclude = string.Empty; } } if (this.ParentIncludeFile == string.Empty) { parentInclude = this.File; } else { parentInclude = this.ParentIncludeFile; } return(parentInclude); }