public static Leaderboard FromEvent(Event ev, DatabaseHelperProvider helpers) { Place[] places = ev.Entries .Where(entry => helpers.Events.CanUserWin(entry.Author, ev)) .Select(entry => Place.FromEntry(entry, helpers)) .OrderByDescending(place => place.Votes) .ThenBy(place => place.Entry.ID) .ToArray(); Entry[] notEligable = ev.Entries .Where(entry => !helpers.Events.CanUserWin(entry.Author, ev)) .ToArray(); int currentPlace = 0; int currentVotes = -1; for (int i = 0; i < places.Length; i++) { if (places[i].Votes != currentVotes) { currentVotes = places[i].Votes; currentPlace++; } places[i].Number = currentPlace; } return(new Leaderboard(places, notEligable)); }
public RequirePermissionsAttributeImpl(PermissionAuthorizationRequirement <GlobalPermissions> permissions, DatabaseHelperProvider dbhelper, UserProfileBuilder profileBuilder) { this.permissions = permissions; this.dbhelper = dbhelper; this.profileBuilder = profileBuilder; }
public static Place FromEntry(Entry entry, DatabaseHelperProvider helpers) { return(new Place { Number = -1, Author = entry.Author, Entry = entry, Votes = entry.Votes.Count }); }
public UserProfileBuilder(DatabaseHelperProvider helpers, IWebHostEnvironment environment) { _helpers = helpers; _environment = environment; }