コード例 #1
0
ファイル: Course.cs プロジェクト: benwasd/ssah
        public void Close(Guid[] passedParticipantIds, NiveauOptionsCollection niveauOptionsCollection, ISerializationService serializationService)
        {
            if (Status != CourseStatus.Committed)
            {
                throw new InvalidOperationException("Only committed courses can be closed.");
            }

            AddVisitedDaysToPassedParticipants(passedParticipantIds, niveauOptionsCollection, serializationService);

            Status = CourseStatus.Closed;
        }
コード例 #2
0
ファイル: Course.cs プロジェクト: benwasd/ssah
 protected abstract void AddVisitedDaysToPassedParticipants(Guid[] passedParticipantIds, NiveauOptionsCollection niveauOptionsCollection, ISerializationService serializationService);
コード例 #3
0
        protected override void AddVisitedDaysToPassedParticipants(Guid[] passedParticipantIds, NiveauOptionsCollection niveauOptionsCollection, ISerializationService serializationService)
        {
            var courseDates = GetAllCourseDates(serializationService).ToArray();

            foreach (var participant in Participants)
            {
                foreach (var courseDay in courseDates)
                {
                    participant.Participant.VisitedCourseDays.Add(
                        new ParticipantVisitedCourseDay
                    {
                        Discipline  = Discipline,
                        NiveauId    = NiveauId,
                        NiveauName  = niveauOptionsCollection.Where(no => no.Id == NiveauId).Select(no => no.Name).Single(),
                        DayStart    = courseDay.Start,
                        DayDuration = courseDay.Duration
                    }
                        );
                }
            }
        }