Example #1
0
        /// <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));
        }
Example #2
0
        /// <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);
        }