Пример #1
0
        public static void Init(TestContext _)
        {
            InitFilePath();
            AddFirst5000DataRowsToDb();

            for (int batchId = 1; batchId < _localDbFiles.Length; batchId++)
            {
                var preLocalDbFile = _localDbFiles[batchId - 1];
                var localDbFile    = _localDbFiles[batchId];
                if (!File.Exists(localDbFile))
                {
                    File.Copy(preLocalDbFile, localDbFile);
                    using var dbContext = new SqliteDBContext(localDbFile);
                    AddDataRowsHelper.Add1BatchDataRows(dbContext.Table1, batchId);
                    dbContext.SaveChanges();
                    dbContext.Database.CloseConnection();
                }

                var sharedFolderDbFile = _sharedFolderDbFilePaths[batchId];
                if (!File.Exists(sharedFolderDbFile))
                {
                    File.Copy(localDbFile, sharedFolderDbFile);
                }
            }
        }
Пример #2
0
        //  sqlite migrations are not as good as sql server
        //  https://docs.microsoft.com/en-us/aspnet/core/data/ef-rp/migrations?view=aspnetcore-5.0&tabs=visual-studio

        public AuthorizeController(ILogger <AuthorizeController> logger, RegistryDemo.Models.SqliteDBContext context)
        {
            _logger    = logger;
            _dbContext = context;
            Console.WriteLine();
            Console.WriteLine("Authorize Request Code Initialized");
        }
Пример #3
0
            public async Task Reset(IUser User = null)
            {
                if (User == null)
                {
                    await Context.Channel.SendMessageAsync(":x: User not specified: a!currency reset **<@user>**");

                    return;
                }

                if (User.IsBot)
                {
                    await Context.Channel.SendMessageAsync($":x: Bots don't have {ISetting.Settings.Currency}");

                    return;
                }

                SocketGuildUser User1 = Context.User as SocketGuildUser;

                if (!User1.GuildPermissions.Administrator)
                {
                    await Context.Channel.SendMessageAsync($":x: You don't have permission to do this, ask an admin");

                    return;
                }

                await Context.Channel.SendMessageAsync($":tada: {User.Mention} you have been reset by {Context.User.Username}!");


                using (var DbContext = new SqliteDBContext())
                {
                    DbContext.Currency.RemoveRange(DbContext.Currency.Where(x => x.UserId == User.Id));
                    await DbContext.SaveChangesAsync();
                }
            }
Пример #4
0
 public void TestFromSharedFolder(int dbFilePathIndex)
 {
     using (var dbContext = new SqliteDBContext(_sharedFolderDbFilePaths[dbFilePathIndex]))
     {
         var rows = (from i in dbContext.Table1 where i.BatchId == 0 && i.RowNo < 10 select i).ToArray();
         dbContext.Dispose();
         Assert.AreEqual(10, rows.Count());
     }
 }
Пример #5
0
        public void TestFromLocal(int dbFilePathIndex)
        {
            using (var dbContext = new SqliteDBContext(_localDbFiles[dbFilePathIndex]))
            {
                var p3s  = new string[10];
                var rows = (from i in dbContext.Table1 where i.BatchId == 0 && i.RowNo < 10 select i).ToArray();

                Assert.AreEqual(10, rows.Length);
            }
        }
Пример #6
0
 public static int GetStones(ulong UserId)
 {
     using (var DbContext = new SqliteDBContext())
     {
         var count = DbContext.Currency.Where(x => x.UserId == UserId);
         if (DbContext.Currency.Where(x => x.UserId == UserId).Count() < 1)
         {
             return(0);
         }
         return(DbContext.Currency.Where(x => x.UserId == UserId).Select(x => x.Account).FirstOrDefault());
     }
 }
Пример #7
0
        public void Add100DataRowsToSharedFolderDb(int dbFilePathIndex)
        {
            using var dbContext = new SqliteDBContext(_sharedFolderDbFilePaths[dbFilePathIndex]);
            var dataRows = new Entity1[100];

            for (int i = 0; i < 100; i++)
            {
                dataRows[i] = AddDataRowsHelper.CreateDataRow <Entity1>(dbFilePathIndex, i + 5000);
            }
            dbContext.AddRange(dataRows);
            dbContext.SaveChanges();
            Assert.AreEqual(100, dbContext.Table1.Where(i => i.BatchId == dbFilePathIndex && i.RowNo >= 5000).Count());
        }
Пример #8
0
        private static void AddFirst5000DataRowsToDb()
        {
            var dbFile = _localDbFiles[0];

            if (!File.Exists(dbFile))
            {
                SqliteDBContext.CopyTempateDBFile(dbFile);
                using var dbContext = new SqliteDBContext(dbFile);
                AddDataRowsHelper.Add1BatchDataRows(dbContext.Table1, 0);
                dbContext.SaveChanges();
                dbContext.Database.CloseConnection();
            }
            var sharedDbFile = _sharedFolderDbFilePaths[0];

            if (!File.Exists(sharedDbFile))
            {
                File.Copy(dbFile, sharedDbFile);
            }
        }
Пример #9
0
 public static async Task SaveStones(ulong UserId, int amount)
 {
     using (var DbContext = new SqliteDBContext())
     {
         if (DbContext.Currency.Where(x => x.UserId == UserId).Count() < 1)
         {
             DbContext.Currency.Add(new Resources.Database.Currency
             {
                 UserId  = UserId,
                 Account = amount
             });
         }
         else
         {
             Resources.Database.Currency current = DbContext.Currency.Where(x => x.UserId == UserId).FirstOrDefault();
             current.Account += amount;
             DbContext.Currency.Update(current);
         }
         await DbContext.SaveChangesAsync();
     }
 }
        //  sqlite migrations are not as good as sql server
        //  https://docs.microsoft.com/en-us/aspnet/core/data/ef-rp/migrations?view=aspnetcore-5.0&tabs=visual-studio

        public RegistryQueryController(ILogger <RegistryQueryController> logger, RegistryDemo.Models.SqliteDBContext context)
        {
            _logger    = logger;
            _dbContext = context;
            Console.WriteLine();
            context.Database.EnsureCreated();
            Console.WriteLine("DB has been Created - pre migrate");
            //       context.Database.Migrate();
            //       Console.WriteLine("Post migrate");
            if (context.RegisteredObjects.Any())
            {
                Console.WriteLine("context created - we have Registered Objects");
                return;
            }
            string      dbPath   = context.Database.GetConnectionString();
            string      tdPath   = "TestData.json";
            string      testData = System.IO.File.ReadAllText(tdPath, Encoding.UTF8);
            List <Maas> Ldo;

            Ldo = GetJsonGenericType <List <Maas> >(testData);
            foreach (Maas maas in Ldo)
            {
                RegisteredObject ro = new RegisteredObject
                {
                    Name           = maas.name,
                    Version        = maas.version,
                    Platform       = maas.platform,
                    Min_platform   = maas.min_platform,
                    Source         = maas.source,
                    Jurisdiction   = maas.jurisdiction,
                    User_authn     = maas.user_authn,
                    DateRegistered = maas.date,
                    Url            = maas.url,
                    Trust_registry = maas.trust_registry
                };
                context.Add(ro);
            }
            context.SaveChanges();
            Console.WriteLine("Completed Creation of base Registered Objtecs");
        }
Пример #11
0
        public static void Init(TestContext _)
        {
            _localDbFilePaths        = new string[10];
            _sharedFolderDbFilePaths = new string[10];

            for (int i = 0; i < _localDbFilePaths.Length; i++)
            {
                _localDbFilePaths[i]        = Path.Combine(Properties.Resources.Local, $"{nameof(Add_SqliteDB_BasedOnDifferentDataRowCount_LocalVSSharedFolder_Tests)}{i}{SqliteDBContext.DBFileExtensionName}");
                _sharedFolderDbFilePaths[i] = Path.Combine(Properties.Resources.Shared, $"{nameof(Add_SqliteDB_BasedOnDifferentDataRowCount_LocalVSSharedFolder_Tests)}{i}{SqliteDBContext.DBFileExtensionName}");
            }

            for (int i = 0; i < _localDbFilePaths.Length; i++)
            {
                SqliteDBContext.CopyTempateDBFile(_localDbFilePaths[i]);
                using var localDbContext = new SqliteDBContext(_localDbFilePaths[i]);
                for (int j = 0; j < i + 1; j++)
                {
                    AddDataRowsHelper.Add1BatchDataRows <Entity1>(localDbContext.Table1, j);
                }
                localDbContext.SaveChanges();
                File.Copy(_localDbFilePaths[i], _sharedFolderDbFilePaths[i], true);
            }
        }
Пример #12
0
 public UsersController(SqliteDBContext context)
 {
     _context = context;
 }