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("评分失败,项目或志愿者不存在."));
     }
 }
示例#2
0
        private bool AddConsumeCredit(Member member, double money)
        {
            CreditRecord cr = new CreditRecord();

            cr.Id          = Guid.NewGuid();
            cr.CreatedTime = DateTime.Now;
            cr.CurrentCreditCoefficient = double.Parse(ConfigurationManager.AppSettings["Consumption"].ToString());
            cr.DeletedTime   = DateTime.MinValue.AddHours(8);
            cr.IsDeleted     = false;
            cr.MemberId      = member.Id;
            cr.Money         = money;
            cr.OperationType = "Consumption";

            if (_creditRecordBLL.Add(cr))
            {
                member.Credit      += cr.Money * cr.CurrentCreditCoefficient;
                member.TotalCredit += cr.Money * cr.CurrentCreditCoefficient;
                _memberBLL.Update(member);

                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#3
0
        public int CreditRecordInsert(CreditRecord hospital)
        {
            try
            {
                if (CreditRecordFind(hospital.UserID, hospital.TrainingID) == null)
                {
                    String stmtId = "CreditRecord_Insert";
                    hospital.RecordID = new aers_sys_seedSqlMapDao().GetMaxID("CreditRecord");
                    ExecuteInsert(stmtId, hospital);
                }

                return(1);
            }
            catch (Exception ex)
            {
                return(0);
            }
        }
 public ProgressResult DeleteCreditRecord(CreditRecord crecord)//重灾区
 {
     if (crecord == null)
     {
         return(ProgressResult.Error("不存在对应的征信记录."));
     }
     else
     {
         try
         {
             database.CreditRecords.Remove(crecord);
             Save();
             return(ProgressResult.Success());
         }
         catch (Exception)
         {
             throw;
         }
     }
 }
        public ProgressResult ScoringDefaultForVolunteers(Project Pro, CreditRecord.CreditScore score)
        {
            ProgressResult result;

            Pro = database.Projects.SingleOrDefault(p => p.Id == Pro.Id);
            if (Pro == null)
            {
                return(ProgressResult.Error("数据库中不存在该项目!"));
            }
            List <Volunteer> selectedvolunteers = Pro.Volunteers;

            /*var Volunteers = database.Volunteers.Where(o => o.Project.Count() > 0).ToList();
             * List<Volunteer> selectedvolunteers = new List<Volunteer>();
             * foreach(var item in Volunteers)
             * {
             *  if( item.Project.Contains(Pro))
             *  {
             *      selectedvolunteers.Add(item);
             *  }
             * }*/
            foreach (var item in selectedvolunteers)
            {
                if (!item.CreditRecords.Exists(o => o.Project.Id == Pro.Id))
                {
                    item.AddCredit(score);
                    CreditRecord cr = new CreditRecord();
                    cr.Participant = item;
                    cr.Project     = Pro;
                    cr.Score       = score;
                    item.CreditRecords.Add(cr);
                }
            }
            Pro.ScoreCondition = ProjectScoreCondition.Scored;
            Save();
            result = ProgressResult.Success();
            return(result);
        }
        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;
                }
            }
        }
        public void DeleteCreditRecordTest()
        {
            // 创建org
            Organization org = identityhelper.CreateOrFindOrganization(Entity.OrganizationEnum.TestOnly);

            // 创建一个project
            Guid    uid  = Guid.NewGuid();
            string  name = "FinishProjectTest" + uid.ToString();
            Project pro  = new Project
            {
                Name         = name,
                Place        = "uibe",
                Maximum      = 1,
                Details      = "nothing",
                Time         = DateTime.Now,
                Organization = org,
                //    ScoreCondition = Interface.ProjectScoreCondition.UnScored
            };

            projectmanagehelper.CreatNewProject(org, DateTime.Now, name, "uibe", "nothing", 1); //unsocred 条件 突然变成scored
            var addresult = database.Projects.Where(b => b.Name == name).Count();

            if (addresult == 0)
            {
                Assert.Fail("添加记录失败!");
            }
            pro = database.Projects.Single(p => p.Name == pro.Name);
            //向项目添加志愿者
            // 创建一个志愿者
            Random    random     = new Random();
            int       studentnum = random.Next(000, 999);
            Volunteer v          = new Volunteer
            {
                StudentNum = studentnum,
                Name       = "FindVolunteerById",
                Class      = "testclass",
                Room       = "testroom",
                Mobile     = "18888888888"
            };

            volunteerhelper.AddVolunteer(v);
            v = database.Volunteers.SingleOrDefault(b => b.StudentNum == v.StudentNum);
            helper.SingleVolunteerInputById(v.StudentNum, pro);
            CreditRecord record = new CreditRecord
            {
                Participant = v,
                Project     = pro,
                //Organization = org,
                Score = 0
            };

            database.CreditRecords.Add(record);
            Save();
            record = database.CreditRecords.Single(c => c.Organization.Id == org.Id);
            ProgressResult result = helper.DeleteCreditRecord(record);

            if (!result.Succeeded)
            {
                Assert.Fail();
            }
            if (database.CreditRecords.SingleOrDefault(c => c.Organization.Id == org.Id) != null)
            {
                Assert.Fail();
            }
            //删除数据库
            DeleteOrgnization(org);
            volunteerhelper.DeleteVolunteer(v);
            Save();
        }
示例#8
0
 public bool Add(CreditRecord cr)
 {
     return(_creditRecordDAL.Insert(cr));
 }