public DomainModelResponse Add(GroupAddRequest request) { Group grp = new Group() { GroupCode = request.GroupCode, GroupName = request.GroupName, Objective = request.Objective, TimeZone = request.TimeZone }; GroupType gt = _repGroupType.Get(filter: f => f.GroupTypeCode == request.GroupTypeCode).FirstOrDefault(); Course crs = _repCourse.Get(filter: f => f.CourseCode == request.CourseCode).FirstOrDefault(); grp.GroupTypeId = gt.GroupTypeId; grp.GroupType = gt; grp.CourseId = crs.CourseId; grp.Course = crs; _repGroup.Add(grp); _uow.Commit(); grp = _repGroup.Get(filter: f => f.GroupCode == request.GroupCode).FirstOrDefault(); if (request.userList != null) { List<int> users = _repUserProfile.Get(filter: f => request.userList.Contains(f.EmailId)).Select(x => x.UserId).ToList(); List<CourseUserRole> Curs = _repCourseUserRole.Get(filter: f => f.CourseId == crs.CourseId && users.Contains(f.UserId)).ToList(); foreach (CourseUserRole cur in Curs) { cur.GroupId = grp.GroupId; cur.Group = grp; _repCourseUserRole.Update(cur); } } _uow.Commit(); _groupResponse.addResponse("Add", MessageCodes.InfoCreatedSuccessfully, "Group : " + request.GroupCode); return _groupResponse; }
public async Task<ActionResult> Create(GroupCreateModel Model) { if(ModelState.IsValid) { GroupAddRequest gar = new GroupAddRequest() { CourseCode = Model.CourseCode, GroupCode = Model.CourseCode + DateTime.UtcNow.ToString("MMddyyHmmss"), GroupName = Model.GroupName, GroupTypeCode = Model.GroupTypeCode, Objective = Model.Objective, TimeZone = Model.TimeZone, userList = new List<string>() { MvcApplication.userEmail } }; bool resp = _groupCom.AddGroup(gar).Result; if(resp) return RedirectToAction("GroupDetail", "Group", routeValues: new { groupCode = gar.GroupCode }); } ModelState.AddModelError("", "Oops! Something wrong happened! Please try again."); return View(Model); }