public MySqlContext(DbContextOptions options) : base(options)
        {
            //Database.EnsureDeleted();
            Database.EnsureCreated();

            if (Articles.Count() == 0)
            {
                PutData data = new PutData();

                Articles.AddRange(data.articles);
                Comments.AddRange(data.comments);

                SuperUsers.Add(data.super);
                TeacherUsers.AddRange(data.teacher);
                StudentUsers.AddRange(data.studentUser);
                TestStudents.AddRange(data.testStudents);
                QuestionAnswers.AddRange(data.questionAnswers);
                Tests.AddRange(data.tests);

                Themes.AddRange(data.themes);
                TestThemes.AddRange(data.TestThemas);
                Questions.AddRange(data.questions1);
                Questions.AddRange(data.questions2);
                Questions.AddRange(data.questions3);
                Marks.AddRange(data.Marks1);
                Marks.AddRange(data.Marks2);

                EventProfileUsers.AddRange(data.EventProfileUsers);
                Meetups.AddRange(data.Meetups);
                Speakers.AddRange(data.Speakers);

                SaveChanges();
            }
        }
Exemple #2
0
 public void AddSuperUser(SuperUser superUser)
 {
     if (!SuperUserExists(superUser.Id))
     {
         SuperUsers.Add(new ApplicationSuperUser()
         {
             SuperUser = superUser
         });
     }
 }
Exemple #3
0
 public void RemoveSuperUser(int superUserId)
 {
     if (SuperUserExists(superUserId))
     {
         foreach (var superUser in SuperUsers)
         {
             if (superUser.SuperUserId == superUserId)
             {
                 SuperUsers.Remove(superUser);
                 break;
             }
         }
     }
 }
 public void VerifyIdamsUsersAreSyncedInUserRepository()
 {
     UserRepository.Verify(x => x.SyncIdamsUsers(ProviderResponse.Ukprn, It.Is <List <IdamsUser> >(p => p.Count == NormalUsers.Count() + SuperUsers.Count())));
     UserRepository.Verify(x => x.SyncIdamsUsers(It.IsAny <long>(), It.Is <List <IdamsUser> >(p => p.Count(z => z.UserType == UserType.SuperUser) == SuperUsers.Count())));
     UserRepository.Verify(x => x.SyncIdamsUsers(It.IsAny <long>(), It.Is <List <IdamsUser> >(p => p.Count(z => z.UserType == UserType.NormalUser) == NormalUsers.Count())));
 }
Exemple #5
0
        private static async Task DmHandler(DiscordClient client, MessageCreateEventArgs e)
        {
            if (e.Guild == null)
            {
                if (e.Author != Client !.CurrentUser)
                {
                    Console.WriteLine($"Received DM from {e.Author.Username}#{e.Author.Discriminator}: {e.Message.Content}");
                }
                if (Settings !.SuperUsers.Contains(e.Author.Id) && e.Message.Content.ToUpperInvariant().Trim() == "STOP")
                {
                    await e.Message.RespondAsync("stopping <:RaccAttack:468748603632910336>").ConfigureAwait(true);

                    Console.WriteLine($"Stopping by request of {e.Author.Username}#{e.Author.Discriminator}");
                    cancel = true;
                }
                else if (Settings.SuperUsers.Contains(e.Author.Id) &&
                         e.Message.Content.ToUpperInvariant().Trim() == "DUMPMEM" ||
                         e.Message.Content.ToUpperInvariant().Trim() == "DUMPMEMORY" ||
                         e.Message.Content.ToUpperInvariant().Trim() == "DUMP MEMORY")
                {
                    await e.Message.RespondAsync("dumping memory to ~/publish/memory.json <:RaccAttack:468748603632910336>").ConfigureAwait(true);

                    DumpMemory();
                    Console.WriteLine($"Dumping memory by request of {e.Author.Username}#{e.Author.Discriminator}");
                }
                else if (Settings.SuperUsers.Contains(e.Author.Id) &&
                         (e.Message.Content.ToUpperInvariant().Trim() == "RELOADMEM" ||
                          e.Message.Content.ToUpperInvariant().Trim() == "RELOADMEMORY" ||
                          e.Message.Content.ToUpperInvariant().Trim() == "RELOAD MEMORY"))
                {
                    await e.Message.RespondAsync("reloading memory from ~/publish/memory.json <:RaccAttack:468748603632910336>").ConfigureAwait(true);

                    if (File.Exists("memory.json"))
                    {
                        await using FileStream stream = new FileStream("memory.json", FileMode.Open);
                        using StreamReader reader     = new StreamReader(stream);
                        string json = await reader.ReadToEndAsync().ConfigureAwait(true);

                        Ruleset !.Memory = JsonConvert.DeserializeObject <Memory>(json);
                    }
                    Console.WriteLine($"Reloading memory by request of {e.Author.Username}#{e.Author.Discriminator}");
                }
                else if (Settings.SuperUsers.Contains(e.Author.Id) &&
                         (e.Message.Content.ToUpperInvariant().Trim() == "SAVESNAPSHOT" ||
                          e.Message.Content.ToUpperInvariant().Trim() == "SAVE SNAPSHOT" ||
                          e.Message.Content.ToUpperInvariant().Trim() == "SNAPSHOT"))
                {
                    string?link = Api?.PostSnapshot();
                    await e.Message.RespondAsync($"snapshot saved to {link ?? "ERROR: API is null!!"} <:RaccAttack:468748603632910336>").ConfigureAwait(true);

                    Console.WriteLine($"Saved snapshot by request of {e.Author.Username}#{e.Author.Discriminator}");
                }
                else if (Settings.SuperUsers.Contains(e.Author.Id) &&
                         e.Message.Content.ToUpperInvariant().Trim().StartsWith("EDIT "))
                {
                    string[] parts = e.Message.Content.Trim().Substring(5).Split(" ", 2);
                    if (parts.Length != 2)
                    {
                        await e.Message.RespondAsync("Incorrect number of arguments");
                    }
                    else
                    {
                        if (!ulong.TryParse(parts[0], out ulong res))
                        {
                            await e.Message.RespondAsync($"Could not resolve {parts[0]} to a valid message ID");

                            return;
                        }

                        List <DiscordMessage> messages = new List <DiscordMessage>();
                        foreach (ulong chan in Settings.Channels !)
                        {
                            try
                            {
                                DiscordChannel channel = await Client.GetChannelAsync(chan);

                                DiscordMessage mes = await channel.GetMessageAsync(res);

                                messages.Add(mes);
                            }
                            catch
                            {
                            }
                        }

                        if (messages.Count == 0 || messages[0].Author != Client.CurrentUser)
                        {
                            await e.Message.RespondAsync($"Could not resolve {parts[0]} to a valid message ID");

                            return;
                        }

                        await messages[0].ModifyAsync(parts[1]);
                        await e.Message.RespondAsync("Message Modified!");

                        Console.WriteLine($"Modified message {parts[0]} to {parts[1]} by request of {e.Author.Username}#{e.Author.Discriminator}");
                    }
                }
                else if (e.Author != Client.CurrentUser &&
                         new[] { "UWU", "OWO" }.Contains(e.Message.Content.Trim().ToUpperInvariant()))
                {
                    await e.Message.RespondAsync("<:RaccAttack:468748603632910336>w<:RaccAttack:468748603632910336>")
                    .ConfigureAwait(false);
                }
                else if (e.Author != Client.CurrentUser)
                {
                    await e.Message.RespondAsync("<:RaccAttack:468748603632910336>").ConfigureAwait(false);
                }
            }