/// <summary> /// Admin can view request to be Expert. /// /// Author: Chris Schwebach /// </summary> /// <param name="group"></param> /// <returns></returns> public ActionResult MngExpert() { int userId = RetrieveUserId(); GroupManager grMangr = new GroupManager(); Group grp = grMangr.RetrieveGroupByName(WebConfigurationManager.AppSettings["ExpertGroup"]); int groupId = grp.GroupID; var viewModel = new GroupDetailViewModel(); viewModel.Requests = new List <GroupMemberRequestModel>(); List <GroupRequest> requests = new GroupManager().GetGroupRequests(groupId); foreach (GroupRequest request in requests) { GroupMemberRequestModel requestModel = new GroupMemberRequestModel(); requestModel.Request = request; requestModel.Requestor = new UserManager().GetUser(request.UserID); viewModel.Requests.Add(requestModel); } return(View(viewModel)); }
/// <summary> /// Logged in user will view group details /// /// Created by: Trent Cullinan 04/05/2016 /// Modified by: Nicholas King /// Last word by: Trent Cullinan 05/05/2016 /// </summary> /// <param name="id">Group Id</param> /// <returns></returns> public ActionResult Details(int?id) { ActionResult view = RedirectToAction("Index", "Group"); if (id.HasValue) { GroupManager groupManager = new GroupManager(); var group = groupManager.GetGroup(id.Value); var gardens = new GardenManager().GetGroupGardens(id.Value); var viewModel = new GroupDetailViewModel() { GroupID = group.GroupID, GroupName = group.Name, GroupLeader = ConvertGroupMember(group.GroupLeader), GroupMembers = ConvertGroupMemberCollection(group.UserList), Gardens = ConvertGardenCollection(gardens) }; //Added by Nicholas King if (ViewBag.GroupLeader = groupManager.GetLeaderStatus(RetrieveUserId(), id.Value))//do check for if user is group leader { viewModel.Requests = new List <GroupMemberRequestModel>(); List <GroupRequest> requests = groupManager.GetGroupRequests(id.Value); foreach (GroupRequest request in requests) { GroupMemberRequestModel requestModel = new GroupMemberRequestModel(); requestModel.Request = request; requestModel.Requestor = new UserManager().GetUser(request.UserID); viewModel.Requests.Add(requestModel); } } if (WebConfigurationManager.AppSettings["ExpertGroup"] == group.Name) { int userId = RetrieveUserId(); // I am mimicking what ever happens on the tasks side of things. IEnumerable <Group> groups = new GardenManager().GetGardenByUser(userId) .Where(g => g.Name == WebConfigurationManager.AppSettings["ExpertGroup"]); ExpertGroupDetailViewModel model = new ExpertGroupDetailViewModel() { GroupDetail = viewModel, ExpertTaskDetail = new GardenTaskViewModel() { GroupsList = groups, } }; ViewBag.UserID = userId; view = View("ExpertDetails", model); } else { view = View(viewModel); } } return(view); }