private List<LeaderDisplay> LeaderboardAttainments(long id) { //List<Account> members = new List<Account>(); List<LeaderDisplay> leaders = new List<LeaderDisplay>(); List<Membership> mems = MembershipLogic.GetByTeam(id).Where(e => e.Status == MembershipStatus.Admin || e.Status == MembershipStatus.Member).ToList(); foreach (Membership m in mems) { Account a = aLogic.Get(m.AccountId); LeaderDisplay ld = new LeaderDisplay(a.FullName, a.Attainments.Count()); leaders.Add(ld); } leaders = leaders.OrderByDescending(e => e.Value).Take(5).ToList(); return leaders; }
private List<LeaderDisplay> LeaderboardDistance(long id) { //List<Account> members = new List<Account>(); List<LeaderDisplay> leaders = new List<LeaderDisplay>(); List<Membership> mems = MembershipLogic.GetByTeam(id).Where(e => e.Status == MembershipStatus.Admin || e.Status == MembershipStatus.Member).ToList(); foreach (Membership m in mems) { Account a = aLogic.Get(m.AccountId); double total = 0; foreach (Activity act in a.Activities) { total += act.Distance; } LeaderDisplay ld = new LeaderDisplay(a.FullName, total); leaders.Add(ld); } leaders = leaders.OrderByDescending(e => e.Value).Take(5).ToList(); return leaders; }