예제 #1
0
        public static string GetStringFormObject(CheckinRecord obj)
        {
            string strRet = "";

            strRet += "【" + obj.m_strType + ":" + obj.m_strTypeInfo + "】" + obj.m_strContent;

            return(strRet);
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        // 通过字符串构造对象
        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);
        }
예제 #5
0
        // 通过对象生成格式化字符串
        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);
        }
예제 #6
0
 public TFSRecord()
 {
     checkinObj    = new CheckinRecord();
     reviewObjList = new List <ReviewRecord>();
 }