public DeveloperModel GetDeveloper(string developerName, AssemblyModel theAssembly)
 {
     DeveloperModel developer = null;
     lock (this)
     {
         developer = DeveloperModelList.Find(((DeveloperModel d) =>
         {
           if (d.Name.Equals(developerName) && d.TheAssembly.Equals(theAssembly))
               return true;
           else
               return false;
         }));
         if (developer == null)//未发现就创建。
         {
             developer = new DeveloperModel(developerName, theAssembly);
             DeveloperModelList.Add(developer);
         }
     }
     return developer;
 }
 private void LoadMethod(DeveloperModel developerModel, int pageID)
 {
     this.dgvMethod.Rows.Clear();
     int newRowIndex = 0;
     MethodModel methodModel = null;
     int loadCount = GetLoadMethodCount(developerModel.MethodModels.Count, pageID);
     int startIndex = GetLoadMethodStartIndex(pageID);
     for (int i = startIndex; i < startIndex + loadCount; i++)
     {
         methodModel = developerModel.MethodModels[i];
         newRowIndex = this.dgvMethod.Rows.Add();
         this.dgvMethod.Rows[newRowIndex].Cells["ColMethodName"].Value = methodModel.Name;
         this.dgvMethod.Rows[newRowIndex].Cells["ColCodeNum"].Value = methodModel.ILCodeNum;
         this.dgvMethod.Rows[newRowIndex].Cells["ColBug"].Value = methodModel.Bug.HasValue ? methodModel.Bug.Value ? "有" : "没有" : "未经测试";
         this.dgvMethod.Rows[newRowIndex].Cells["ColCreateTime"].Value = methodModel.CreaterAttr.CreateDate;
         StringBuilder sbReviewer = new StringBuilder();
         for (int j = 0; j < methodModel.ReviewerAttr.Length; j++)
         {
             sbReviewer.Append(string.Format("{0}({1}) ", methodModel.ReviewerAttr[j].Reviewer, methodModel.ReviewerAttr[j].ReviewDate));
         }
         this.dgvMethod.Rows[newRowIndex].Cells["ColReview"].Value = sbReviewer.ToString().Trim().Length == 0 ? "无" : sbReviewer.ToString().Trim();
         this.dgvMethod.Rows[newRowIndex].Tag = methodModel;
     }
     PageStatus(developerModel.MethodModels.Count);
 }
 public void IncreaseNotYetCheckBugNum(DeveloperModel developer, int notYetCheckBugNum)
 {
     developer.NotYetCheckBugNum += notYetCheckBugNum;
 }
 public void IncreaseBugNum(DeveloperModel developer, int bugNum)
 {
     developer.BugNum += bugNum;
 }
 public void IncreaseBeReviewNum(DeveloperModel developer, int beReviewNum)
 {
     developer.BeReviewNum += beReviewNum;
 }
 public void IncreaseReviewNum(DeveloperModel developer, int reviewNum)
 {
     developer.ReviewNum += reviewNum;
 }
 public void IncreaseMethodModel(DeveloperModel developer, MethodModel methodModel)
 {
     developer.MethodModels.Add(methodModel);
 }
 public void IncreaseMethodNum(DeveloperModel developer, int methodNum)
 {
     developer.MethodNum += methodNum;
 }
 public void IncreaseILCodeNum(DeveloperModel developer, int iLCodeNum)
 {
     developer.ILCodeNum += iLCodeNum;
 }