public ActionResult CreateGroupMember(int groupId, GroupMembersViewModel member) { try { if (!ModelState.IsValid) { throw new Exception(ModelState.ToString()); } _groupMemberService.Create(member, groupId); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public virtual PartialViewResult GetGroupMembers(Guid groupId, int?p) { // Get the Group var group = _groupService.Get(groupId); var loggedOnUsersRole = GetGroupMembershipRole(group.Id); // Set the page index var pageIndex = p ?? 1; // check the user has permission to this Group var permissions = RoleService.GetPermissions(group, loggedOnUsersRole); var groupUsers = group.GroupUsers.Select(x => new GroupUserViewModel { GroupUser = x, GroupUserStatus = x.GetUserStatusForGroup() }); // Create the main view model for the Group var viewModel = new GroupMembersViewModel { PageIndex = pageIndex, TotalCount = group.GroupUsers.Count, TotalPages = (int)Math.Ceiling(group.GroupUsers.Count / (double)SettingsService.GetSettings().DiscussionsPerPage), GroupUsers = groupUsers.Where(x => x.GroupUserStatus != GroupUserStatus.Pending && x.GroupUserStatus != GroupUserStatus.Rejected && x.GroupUser.Role.RoleName != Constants.AdminRoleName).ToList() .OrderBy(x => x.GroupUser.User.Surname), GroupUsersPending = groupUsers.Where(x => x.GroupUserStatus == GroupUserStatus.Pending).ToList(), GroupAdmins = groupUsers.Where(x => x.GroupUser.Role.RoleName == Constants.AdminRoleName).ToList().OrderBy(x => x.GroupUser.User.Surname), PublicGroup = group.PublicGroup }; if (LoggedOnReadOnlyUser != null) { var user = group.GroupUsers.FirstOrDefault(x => x.User.Id == LoggedOnReadOnlyUser.Id); viewModel.GroupUserStatus = user.GetUserStatusForGroup(); viewModel.LoggedInUserRole = loggedOnUsersRole; } return(PartialView("_ManageUsers", viewModel)); }
public IActionResult GroupMembers(int id) { var userid = this.User.FindFirstValue(ClaimTypes.NameIdentifier); var profileId = this.profilesService.GetId(userid); var hasAdminPermissions = this.groupsService.HasAdminPermissions(id, profileId); if (hasAdminPermissions) { var viewModel = new GroupMembersViewModel() { Members = this.groupsService.GetMembers <MemberInfoViewModel>(id), IsAdmin = this.groupsService.HasAdminPermissions(id, profileId), IsOwner = this.groupsService.IsOwner(id, profileId), Id = id, }; return(this.View(viewModel)); } return(this.BadRequest()); }
// GET: Group/Members/1 public ActionResult Members(int id) { using (var db = new ZapContext()) { var group = db.Groups .Include(g => g.Members) .Include(g => g.Moderators) .Include(g => g.Administrators) .AsNoTracking() .FirstOrDefault(g => g.GroupId == id); List <GroupMemberViewModel> groupMembers = new List <GroupMemberViewModel>(); foreach (var m in group.Members) { groupMembers.Add(new GroupMemberViewModel() { UserName = m.Name, AboutMe = m.AboutMe, AppId = m.AppId, IsModerator = group.Moderators.Select(u => u.Id).Contains(m.Id), IsGroupAdministrator = group.Administrators.Select(u => u.Id).Contains(m.Id), IsSiteAdministrator = m.Name == "Zelgada", }); } GroupMembersViewModel vm = new GroupMembersViewModel() { GroupId = group.GroupId, GroupName = group.GroupName, Icon = group.Icon != null ? "fa-" + group.Icon : "fa-bolt", TotalEarned = group.TotalEarned + group.TotalEarnedToDistribute, Members = groupMembers, }; return(View(vm)); } }
public void Create(GroupMembersViewModel model, int groupId) { // Create Group Member : if model.UserTypeId == UserType.Student if (model.UserTypeId == (int)UserType.Student) { var student = _studentRepository.FindById(model.MemberId); if (student == null) { throw new Exception("student not found"); } var groupStudent = new GroupStudents() { GroupId = groupId, StudentId = model.MemberId }; _groupStudentsRepository.Create(groupStudent); } // Create Group Member : if model.UserTypeId == UserType.Mentor if (model.UserTypeId == (int)UserType.Mentor) { var mentor = _mentorRepository.FindById(model.MemberId); if (mentor == null) { throw new Exception("mentor not found"); } var groupMentor = new GroupMentors() { GroupId = groupId, MentorId = model.MemberId, MentorTypeId = (int)Enum.Parse(typeof(MentorType), model.UserType) }; _groupMentorsRepository.Create(groupMentor); } }