public ActionResult EditGroupInfo(int id, string notes) { GroupInfoService.EnableTracking(); var groupInfo = GroupInfoService.GetByPK(id); groupInfo.Notes = StringUtils.SafeSubstring(notes, 500); GroupInfoService.SubmitChanges(); return(OkJson()); }
private GroupInfo GetGroupInfo(int groupInfoId, out List <int> userIds) { GroupInfoService.LoadWith(c => c.Load(x => x.GroupTests).And <GroupTest>(t => t.Test)); var groupInfo = GroupInfoService.GetByPK(groupInfoId); userIds = UserService.GetAll(x => x.Student.StudentInGroups.Any(y => y.Group_ID == groupInfo.Group_ID)) .Select(x => x.UserID).ToList(); return(groupInfo); }
public ActionResult GroupInfoComplete(int groupInfoId) { GroupInfoService.EnableTracking(); var groupInfo = GroupInfoService.GetByPK(groupInfoId); groupInfo.IsComplete = true; GroupInfoService.SubmitChanges(); var user = UserService.FirstOrDefault(x => x.CompanyID == groupInfo.CompanyId); MailService.NewGroupTest(user); return(OkJson()); }
public ActionResult SendGroupTestInfo(int groupInfoId, bool forManager) { GroupInfoService.LoadWith(c => c.Load(x => x.GroupTests).And <GroupTest>(x => x.Test)); var groupInfo = GroupInfoService.GetByPK(groupInfoId); var managerEmail = forManager ? UserService.FirstOrDefault(x => x.CompanyID == groupInfo.CompanyId).Email : null; var studentIds = StudentInGroupService.GetAll(x => x.Group_ID == groupInfo.Group_ID).Select(x => x.Student_ID).ToList(); var users = UserService.GetAll(x => studentIds.Contains(x.Student_ID.Value)).ToList(); var tests = groupInfo.GroupTests.Select(x => Url.TestLink(x.Test).AbsoluteHref()).ToList(); MailService.GroupTestInfo(users, tests, managerEmail); return(OkJson()); }
public ActionResult Prepare(GroupPrepareVM model) { GroupInfoService.EnableTracking(); var groupId = model.GroupID; var groupInfo = GroupInfoService.FirstOrDefault(x => x.Group_ID == groupId); User user = null; if (groupInfo == null) { user = UserService.GetByEmail(model.Email); if (user == null) { ModelState.AddModelError("", "Пользователь не существует"); } else if (!user.IsCompany) { ModelState.AddModelError("", "Пользователь не компания"); } } var group = GroupService.GetByPK(groupId); if (group == null) { ModelState.AddModelError("", "Группа не существует"); } else if (group.Course_TC != CourseTC.Test) { ModelState.AddModelError("", "Не группа тестирования"); } if (!ModelState.IsValid) { return(ErrorJson()); } RegisterStudentUsers(groupId); if (!ModelState.IsValid) { return(ErrorJson()); } if (groupInfo == null) { groupInfo = new GroupInfo { CompanyId = user.CompanyID.Value, Group_ID = groupId }; GroupInfoService.InsertAndSubmit(groupInfo); } return(UrlJson(Url.Action <GroupTestController>(x => x.GroupInfo(groupInfo.Id)))); }
public ActionResult List() { GroupInfoService.LoadWith(x => x.Group); var groupInfos = GroupInfoService.GetAll(x => x.CompanyId == User.CompanyID && x.IsComplete); if (User.InRole(Role.TestAdmin)) { groupInfos = GroupInfoService.GetAll(); } var groups = groupInfos. OrderByDescending(x => x.Group.DateBeg).ToList(); return(BaseViewWithModel(new GroupInfosView(), new GroupInfosVM { GroupInfos = groups })); }
public ActionResult GroupInfo(int groupInfoId) { var groupInfo = GroupInfoService.GetByPK(groupInfoId); var model = new GroupInfoVM() { DenyAdd = !User.InRole(Role.TestAdmin), GetListUrl = Url.Action <GroupTestController>(c => c.GetGroupTests(groupInfoId, null)), EditUrl = Url.Action <GroupTestController>(c => c.EditGroupTest(groupInfoId, null)), Caption = "Тесты группы " + groupInfo.Group_ID }; if (User.InRole(Role.TestAdmin)) { model.DeleteUrl = Url.Action <GroupTestController>(c => c.DeleteGroupTest(null)); } AddColumns <GroupTest>(model, x => x.TestId); return(BaseView(new PagePart(PartialViewNames.AjaxList, model), new PagePart(new GroupInfoView { }.Init(groupInfo, Url).Get().ToString()))); }
private decimal GetGroupIdForInfo(int groupInfoId) { return(GroupInfoService.GetAll(x => x.Id == groupInfoId).Select(x => x.Group_ID).First()); }