public async Task <ActionResult> UnenrollFrom([Bind(Include = "enrolId,studyId")] UnenrollModel unenroll) { IReadWriteRepository <ServiceData.Models.StudyEnrolment> _enrolRepository = new StudyEnrolmentRepository(); await _enrolRepository.Delete(unenroll.enrolId); return(RedirectToAction("Details", new { id = unenroll.studyId })); }
public async Task <ActionResult> Details([Bind(Include = "Email,Id")] AddParticipantStruct newPart) { IReadWriteRepository <ServiceData.Models.User> _userRepository = new UserRepository(); ServiceData.Models.User res = await _userRepository.Search(u => u.Email == newPart.Email).FirstOrDefaultAsync(); IReadWriteRepository <ServiceData.Models.Study> _studyRepository = new StudyRepository(); ServiceData.Models.Study study = _studyRepository.GetById(newPart.Id); if (study == null) { return(RedirectToAction("Index")); } else if (res != null && study.Manager.Email == User.Identity.Name && !study.StudyEnrolments.Any(en => en.UserId == res.Id)) { Models.StudyEnrolment enrol = new Models.StudyEnrolment { CreatedAt = DateTime.UtcNow, Study = Models.Study.ToAppModel(study, false), StudyId = study.Id, Enrolled = true, User = Models.User.ToAppModel(res), UserId = res.Id }; IReadWriteRepository <ServiceData.Models.StudyEnrolment> _enrolRepository = new StudyEnrolmentRepository(); var serviceMod = Models.StudyEnrolment.ToServiceModel(enrol, true, true); var finalRes = _enrolRepository.Insert(serviceMod); return(RedirectToAction("Details", new { id = study.Id })); } return(RedirectToAction("Details", new { id = study?.Id })); }