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")); } }