Example #1
0
        private async Task LoadNewestParticipants()
        {
            foreach (var tourn in Database.Tournaments)
            {
                var challongeTournament = await ChallongeTournaments.getTournament(tourn.ShortName);

                var participants = await challongeTournament.GetParticipants();

                foreach (var chalPart in participants)
                {
                    var participant = await Database.Participants.FindAsync(chalPart.id.ID);

                    bool exist = participant != null;
                    if (chalPart.active && !exist)
                    {
                        Database.Participants.Add(Participant.CreateParticipant(chalPart));
                        OnNewParticipantRegistered?.Invoke(this, new OnNewParticipantRegisteredEventArgs(chalPart, challongeTournament));
                        Console.WriteLine($"New participant added: {chalPart.name}");
                    }
                    else if (!chalPart.active && exist)
                    {
                        //Database.Participants.Remove(participant);
                    }
                }
            }
            await Database.SaveChangesAsync();
        }