public static GroupEventItems GetGroupEventItemsByID(int id, int pageNumber, int pageSize = int.MaxValue, GroupRelatedData relatedData = GroupRelatedData.None) { using (IUnitOfWork unitOfWork = new cmiUnitOfWork()) { GroupEventItems groupEvents = new GroupEventItems(); Repository <Group> repositoryGroup = new Repository <Group>(unitOfWork); groupEvents.Group = repositoryGroup.Get(g => g.ID == id, GetIncludeProperties(relatedData)).SingleOrDefault(); Repository <Event> repositoryEvent = new Repository <Event>(unitOfWork); groupEvents.Events = repositoryEvent.Get(e => e.GroupID == id, "UsersToEvents").OrderBy(e => e.StartTime).ToPagedList(pageNumber, pageSize); return(groupEvents); } }
public ActionResult GroupDetails(int id, int?currentPage, DML.Enums.MessageId message = DML.Enums.MessageId.Unknow) { currentPage = currentPage ?? 1; GroupEventItems groupEvents = BLL.GroupManager.GetGroupEventItemsByID(id, currentPage.Value, ConfigurationSettings.ItemsPerPage, GroupManager.GroupRelatedData.UsersAndGroupInvite); if (groupEvents == null || (!groupEvents.Group.UsersToGroups.Any(u => u.UserID == Core.SessionManager.UserID) && !BLL.PermissionManager.HasPermission(Core.SessionManager.UserID, PermissionsItem.CanEditGroup))) { return(RedirectToAction("NotFound", "Error")); } GroupItem outGroupItem = groupEvents.Group.ToGroupItem(); outGroupItem.groupEvents = groupEvents.Events; Core.SessionManager.BackToGroupID = id; ViewBag.Message = CountMeIn.Configuration.ConfigurationSettings.Message(message); return(View(outGroupItem)); }