public static string GetStringFormObject(CheckinRecord obj) { string strRet = ""; strRet += "【" + obj.m_strType + ":" + obj.m_strTypeInfo + "】" + obj.m_strContent; return(strRet); }
/// <summary> /// 生成提交代码的字符串信息 /// </summary> /// <returns></returns> private string GeneralCodeInfo() { CheckinRecord obj = new CheckinRecord(); obj.m_strType = code_type_comboBox.Text.Trim(); obj.m_strTypeInfo = code_info_textBox.Text.Trim(); obj.m_strContent = code_textBox.Text.Trim(); string strRet = CheckinRecord.GetStringFormObject(obj); return(strRet); }
public static CheckinRecord GetObjectFormString(string strTFS) { // 【需求:AAAA】BALABALABALABALA CheckinRecord obj = new CheckinRecord(); // 将Review记录信息剔除 strTFS = Regex.Split(strTFS, @"【走查者】", RegexOptions.IgnoreCase)[0]; // 提交代码的集中支持类型 string[] sArray = null; string[] sPatterns = new string[6]; string strUsePattern = ""; sPatterns[0] = @"【需求[:|:]{1}.{1,}】"; sPatterns[1] = @"【BUG[:|:]{1}.{1,}】"; sPatterns[2] = @"【代码优化[:|:]{1}.{1,}】"; sPatterns[3] = @"【PC Lint[:|:]{1}.{1,}】"; sPatterns[4] = @"【走查问题处理[:|:]{1}.{1,}】"; sPatterns[5] = @"【文档[:|:]{1}.{1,}】"; int iIdx = 0; for (iIdx = 0; iIdx < sPatterns.Count(); ++iIdx) { sArray = Regex.Split(strTFS, sPatterns[iIdx], RegexOptions.IgnoreCase); if (sArray.Count() == 2) { strUsePattern = sPatterns[iIdx]; break; } } if (strUsePattern == "") { // 没有匹配到的信息,格式错误 return(null); } obj.m_strContent = sArray[1].Trim(); // BALABALABALABALA Match matchObj = Regex.Match(strTFS, strUsePattern); string strTemp = matchObj.Value; // 【需求:AAAA】 strTemp = strTemp.Substring(1, strTemp.Length - 2); // 需求:AAAA string[] sArray2 = Regex.Split(strTemp, "[:|:]", RegexOptions.IgnoreCase); if (sArray2.Count() != 2) { // 格式不正确 return(null); } obj.m_strType = sArray2[0].Trim(); obj.m_strTypeInfo = sArray2[1].Trim(); return(obj); }
// 通过字符串构造对象 public static TFSRecord GetObjectFormString(string strTFS) { // 【需求:AAAA】BALABALABALABALA // 【走查者】赵利平 // 【走查时间】2018年2月28日 // 【走查行数】100 // 【1】[类型]实现逻辑[级别]严重[状态]Open[模块]硬件配置[位置]AutoThink.cpp Line:21[问题说明]内存泄露[修改说明]请补充 // 【走查者】赵利平 // 【走查时间】2018年2月28日 // 【走查行数】100 // 【走查结果】通过 // strTFS = @"【需求:AAAA】BALABALABALABALA // 【走查者】赵利平 // 【走查时间】2018年2月28日 // 【走查行数】100 // 【1】[类型]实现逻辑[级别]严重[状态]Open[模块]硬件配置[位置]AutoThink.cpp Line:21[问题说明]内存泄露[修改说明]请补充 // 【走查者】赵利平 // 【走查时间】2018年2月28日 // 【走查行数】100 // 【走查结果】通过"; TFSRecord obj = new TFSRecord(); string[] sArray = Regex.Split(strTFS, @"【走查者】", RegexOptions.IgnoreCase); // 解析签入信息 string strCheckin = sArray[0].Trim(); CheckinRecord checkinObj = CheckinRecord.GetObjectFormString(strCheckin); if (checkinObj == null) { // 格式出错 return(null); } obj.checkinObj = checkinObj; if (sArray.Count() > 1) { // 有Review信息 int iCount = TFSRecord.GetSReviewCount(strTFS); for (int iIdx = 0; iIdx < iCount; ++iIdx) { string strReview = TFSRecord.GetReviewStringAt(strTFS, iIdx); ReviewRecord reviewObj = ReviewRecord.GetObjectFormString(strReview); if (reviewObj == null) { // 格式出错 return(null); } obj.reviewObjList.Add(reviewObj); } } return(obj); }
// 通过对象生成格式化字符串 public static string GetStringFormObject(TFSRecord obj) { string strRet = ""; if (obj == null) { return(strRet); } strRet += CheckinRecord.GetStringFormObject(obj.checkinObj); for (int iIdx = 0; iIdx < obj.reviewObjList.Count(); ++iIdx) { ReviewRecord reviewObj = obj.reviewObjList[iIdx]; strRet += "\r\n"; strRet += ReviewRecord.GetStringFormObject(reviewObj); } return(strRet); }
public TFSRecord() { checkinObj = new CheckinRecord(); reviewObjList = new List <ReviewRecord>(); }