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