コード例 #1
0
 public void Reopen(ApplicationUser auditor, string comments)
 {
     if (!auditor.IsAdminUser)
     {
         throw new CourseAuditingException("Course can only be review by admin user.");
     }
     CourseAuditings.Add(CourseAuditing.Reopen(auditor.Administrator, comments));
     _machine.Fire(CourseStateTriggerEnum.Reopen);
 }
コード例 #2
0
 public void Submit(ApplicationUser tutor)
 {
     // 1. validate course update
     CourseUpdateValidate(tutor);
     // 2. Add course auditing
     CourseAuditings.Add(CourseAuditing.Submit());
     // 3. update state
     _machine.Fire(CourseStateTriggerEnum.Submit);
 }
コード例 #3
0
        public static CourseAuditing Release(string note)
        {
            var auditing = new CourseAuditing()
            {
                Note          = "Course released: " + note,
                CreateDateUTC = DateTime.UtcNow,
                State         = CourseStateTriggerEnum.Reopen
            };

            return(auditing);
        }
コード例 #4
0
        public static CourseAuditing Submit()
        {
            var auditing = new CourseAuditing()
            {
                Note          = "Course submit to review.",
                CreateDateUTC = DateTime.UtcNow,
                State         = CourseStateTriggerEnum.Submit
            };

            return(auditing);
        }
コード例 #5
0
        public static CourseAuditing Reopen(Administrator auditor, string note)
        {
            var auditing = new CourseAuditing()
            {
                Auditor       = auditor,
                Note          = "Course review reopen: " + note,
                CreateDateUTC = DateTime.UtcNow,
                State         = CourseStateTriggerEnum.Reopen
            };

            return(auditing);
        }
コード例 #6
0
        public static CourseAuditing Approve(Administrator auditor, string note)
        {
            var auditing = new CourseAuditing()
            {
                Auditor       = auditor,
                Note          = "Course Approve to release: " + note,
                CreateDateUTC = DateTime.UtcNow,
                State         = CourseStateTriggerEnum.Approve
            };

            return(auditing);
        }
コード例 #7
0
 public void Release(ApplicationUser user)
 {
     if (!IsReady)
     {
         throw new CourseValidateException("Course is not ready to released, please submit to review");
     }
     if (!IsTutor(user) && !user.IsAdminUser)
     {
         throw new CourseValidateException("use is not allow to Release the course");
     }
     CourseAuditings.Add(CourseAuditing.Release("released by " + user.FullName));
     _machine.Fire(CourseStateTriggerEnum.Release);
     //AddDomainEvent(new CourseStateUpdateDomainEvent(null, TutorId, Id, CourseStateTriggerEnum.Reject, "Course Released."));
 }