public ProgressResult AddScore(Volunteer vol, Project pro, CreditRecord.CreditScore score)
 {
     if (vol != null && pro != null && score.PncScore <= 5.0 && score.SrvScore <= 5.0 && score.CmmScore <= 5.0)
     {
         if (vol.CreditRecords.FirstOrDefault(o => o.Project.Id == pro.Id) != null)
         {
             return(EditScore(vol, pro, score));
         }
         else
         {
             CreditRecord cr = new CreditRecord
             {
                 UID         = Guid.NewGuid(),
                 Project     = pro,
                 Participant = vol,
                 Score       = score
             };
             database.CreditRecords.Add(cr);
             //pro.CreditRecords.Add(cr);
             //vol.CreditRecords.Add(cr);
             vol.AddCredit(score);
             Save();
             return(ProgressResult.Success());
         }
     }
     else
     {
         return(ProgressResult.Error("评分失败,项目或志愿者不存在."));
     }
 }
        public ProgressResult EditScore(Volunteer volunteer, Project project, CreditRecord.CreditScore score)
        {
            CreditRecord crecord = database.CreditRecords.SingleOrDefault(r => r.Participant.UID == volunteer.UID && r.Project.Id == project.Id);

            if (crecord == null)
            {
                return(ProgressResult.Error("不存在对应的征信记录."));
            }
            else
            {
                try
                {
                    volunteer.DeleteCredit(crecord.Score);
                    volunteer.AddCredit(score);
                    crecord.Score = score;
                    Save();
                    return(ProgressResult.Success());
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }