Exemple #1
0
        public override void Map(StudentSectionAssociation source, SectionListItemModel target)
        {
            target.Name      = source.LocalCourseCode + " (" + source.ClassPeriodName + ", " + ((TermTypeEnum)source.TermTypeId).Humanize() + ")";
            target.BeginDate = source.BeginDate.ToShortDateString();
            if (source.EndDate != null)
            {
                target.EndDate = ((DateTime)source.EndDate).ToShortDateString();
            }

            var query = new SectionByPrimaryKeysQuery(
                source.SchoolYear, source.TermTypeId, source.ClassPeriodName,
                source.ClassroomIdentificationCode, source.LocalCourseCode);

            target.SectionId = _genericRepository.Get(query).SectionIdentity;

            target.StudentSectionId = source.StudentSectionAssociationIdentity;
        }
        private IEnumerable <ValidationFailure> ValidateExistence(CreateModel createModel)
        {
            var validationFailures = new List <ValidationFailure>();

            foreach (var validationFailure in CheckForNulls(createModel))
            {
                validationFailures.Add(validationFailure);
                yield return(validationFailure);
            }
            if (!validationFailures.IsNullOrEmpty())
            {
                yield break;
            }

            var session = _genericRepository.Get <Data.Entities.Session>(s => s.SessionIdentity == createModel.SessionId);

            var query = new SectionByPrimaryKeysQuery(
                session.SchoolYear,
                session.TermTypeId,
                createModel.Period,
                createModel.Classroom,
                createModel.Course
                );

            var section = _genericRepository.Get(query);

            if (section != null)
            {
                yield return(new ValidationFailure(createModel.GetNameFor(s => s.Session), " "));

                yield return(new ValidationFailure(createModel.GetNameFor(s => s.Period), " "));

                yield return(new ValidationFailure(createModel.GetNameFor(s => s.Classroom), " "));

                yield return
                    (new ValidationFailure(createModel.GetNameFor(s => s.Course), "This section already exists"));
            }
        }