/// <summary> /// Convert file informations to Modification instance /// </summary> /// <param name="fileInfo">file informations</param> /// <returns>Modification instance</returns> private Modification Convert(JediVCSFileInfo fileInfo) { Modification Result = new Modification(); Result.FileName = fileInfo.Name; Result.FolderName = fileInfo.Path; Result.ChangeNumber = "1"; Result.Comment = ""; Result.EmailAddress = ""; Result.ModifiedTime = DateTime.UtcNow; Result.Type = ""; Result.Url = ""; Result.UserName = ""; Result.Version = ""; return Result; }
/// <summary> /// /// </summary> /// <param name="item"></param> public void Add(JediVCSFileInfo item) { this.List.Add(item); }
/// <summary> /// Parse the row /// </summary> /// <param name="line">buffer file line</param> /// <returns>The file infos</returns> private JediVCSFileInfo GetJediVCSFileInfo(string line) { JediVCSFileInfo Result = new JediVCSFileInfo(); const string RegExLine = "([0-9 ]{8}) (.{50}) (.{30}) ([0-9. ]{7}) (.{3}) (.{20}) (.{3}) (.{5}) (.{5})"; Regex expLine = new Regex(RegExLine, RegexOptions.IgnoreCase); Match expMatch = expLine.Match(line); if (expMatch.Success) { Log.Debug("Regex match on line: " + line); Result.Id = System.Convert.ToInt32(expMatch.Groups[1].Value); Result.Path = expMatch.Groups[2].Value.Trim(); Result.Name = expMatch.Groups[3].Value.Trim(); Result.Version = expMatch.Groups[4].Value.Trim(); Result.InOut = expMatch.Groups[5].Value.Trim(); Result.Owner = expMatch.Groups[6].Value.Trim(); Result.Hidden = expMatch.Groups[7].Value.Trim(); Result.Stamp = expMatch.Groups[8].Value.Trim(); Result.CRC = expMatch.Groups[9].Value.Trim(); } else Log.Debug("No regex match on line: " + line); return Result; }
/// <summary> /// /// </summary> /// <param name="index"></param> /// <param name="item"></param> public void Insert(int index, JediVCSFileInfo item) { this.List.Insert(index, item); }