Exemplo n.º 1
0
            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;
 }
Exemplo n.º 3
0
 public static Place FromEntry(Entry entry, DatabaseHelperProvider helpers)
 {
     return(new Place
     {
         Number = -1,
         Author = entry.Author,
         Entry = entry,
         Votes = entry.Votes.Count
     });
 }
Exemplo n.º 4
0
 public UserProfileBuilder(DatabaseHelperProvider helpers, IWebHostEnvironment environment)
 {
     _helpers     = helpers;
     _environment = environment;
 }