/// <summary> /// Liefert alle Peanuts der Gruppe /// </summary> /// <param name="userGroup"></param> /// <returns></returns> public IPage <Peanut> FindAllPeanutsInGroup(UserGroup userGroup) { Require.NotNull(userGroup, "userGroup"); return(PeanutDao.FindPeanutsInGroups(PageRequest.All, new List <UserGroup>() { userGroup })); }
public int GetUserGroupMemberKarma(UserGroupMembership userGroupMembership) { Require.NotNull(userGroupMembership, "userGroupMembership"); IList <Peanut> allPeanutsInGroup = PeanutDao.FindPeanutsInGroups(PageRequest.All, new List <UserGroup> { userGroupMembership.UserGroup }, new DateTime(2000, 1, 1), new DateTime(3000, 1, 1)).ToList(); return(GetUserGroupMemberKarma(userGroupMembership, allPeanutsInGroup)); }
public PeanutsUserGroupMembershipStatistics GetPeanutsUserGroupMembershipStatistics(UserGroupMembership userGroupMembership) { Require.NotNull(userGroupMembership, "userGroupMembership"); List <Peanut> allPeanutsInGroup = PeanutDao.FindPeanutsInGroups(PageRequest.All, new List <UserGroup> { userGroupMembership.UserGroup }, new DateTime(2000, 1, 1), new DateTime(3000, 1, 1)).ToList(); List <PeanutParticipation> allParticipationsOfMember = allPeanutsInGroup.SelectMany(p => p.Participations).Where(part => part.UserGroupMembership.Equals(userGroupMembership)).ToList(); if (!allPeanutsInGroup.Any()) { return(null); } return(new PeanutsUserGroupMembershipStatistics(userGroupMembership, allPeanutsInGroup, allParticipationsOfMember)); }
/// <summary> /// Ruft die Karmas der aktiven Gruppenmitglieder ab. /// </summary> /// <param name="userGroup"></param> /// <returns></returns> public IDictionary <UserGroupMembership, int> GetUserGroupMembersKarma(UserGroup userGroup) { Require.NotNull(userGroup, "userGroup"); List <UserGroupMembership> userGroupMemberships = UserGroupService.FindMembershipsByGroups(PageRequest.All, new List <UserGroup> { userGroup }, UserGroupMembership.ActiveTypes) .ToList(); IList <Peanut> allPeanutsInGroup = PeanutDao.FindPeanutsInGroups(PageRequest.All, new List <UserGroup> { userGroup }, new DateTime(2000, 1, 1), new DateTime(3000, 1, 1)).ToList(); return (userGroupMemberships.ToDictionary(u => u, u => GetUserGroupMemberKarma(u, allPeanutsInGroup)) .OrderBy(b => b.Value) .ToDictionary(d => d.Key, d => d.Value)); }