public void CreateOrUpdate(CreatedEduSubjectPreference model) { var subjectPreferences = _subjectPreferenceRepository .GetPagedList(predicate: a => a.SystemUserId == model.SystemUserId, pageSize: int.MaxValue); if (subjectPreferences.TotalCount > 0) { _subjectPreferenceRepository.Delete(subjectPreferences.Items); } foreach (var informalExperience in model.FieldOfStudies) { _subjectPreferenceRepository.Insert(new EduSubjectPreference { FieldOfStudyId = informalExperience.Id, OtherFieldOfStudy = informalExperience.OtherValue, SystemUserId = model.SystemUserId }); } var systemUser = _systemUserRepository.GetFirstOrDefault(predicate: a => a.SystemUserId == model.SystemUserId, include: a => a.Include(b => b.EduUser)); if (systemUser == null) { throw new ApplicationException("System User Id is invalid"); } var eduUser = systemUser.EduUser.SingleOrDefault(); eduUser.PreferredMenteeGrade = model.PreferredMenteeGrade; _eduUserRepository.Update(eduUser); _unitOfWork.SaveChanges(); }
public ActionResult CreateOrUpdate([FromRoute] int systemUserId, [FromBody] EduSubjectPreferenceViewModel model) { var informalExperience = new CreatedEduSubjectPreference() { FieldOfStudies = model.FieldOfStudies, SystemUserId = systemUserId, PreferredMenteeGrade = model.PreferredMenteeGrade }; _subjectPreferenceService.CreateOrUpdate(informalExperience); return(Ok(MessageHelper.Success("The subject preferences have been updated."))); }