Exemplo n.º 1
0
        public void ConfigureServices(IServiceCollection services)
        {
            var cfgBuilder = new ConfigurationBuilder().AddJsonFile("appsettings.json", false);
            var config     = cfgBuilder.Build();

            var dbName     = "data/internal.litedb.db";
            var database   = new LiteDatabase(dbName);
            var repository = new LiteDbRepository(database);

            services.AddSingleton <IConfiguration>(config);
            services.AddSingleton <IRepository>(repository);

            services.AddLogging(options => options
                                .AddConfiguration(config)
                                .AddDebug()
                                .AddReConsole()
                                .AddFile("logs/app_{Date}.log")
                                );

            services.AddScoped(typeof(IPluginConfiguration <>), typeof(PluginConfiguration <>));
            services.AddScoped(typeof(IPluginRepository <>), typeof(PluginRepository <>));
            services.AddScoped <IMessageChainFormatter, HyperCodeFormatter>();
            services.AddScoped <IMessageChainParser, HyperCodeParser>();
            services.AddHangfire();
            services.AddDistributedMemoryCache();
            services.AddBots();
            services.AddClients(config);
            services.AddUnits();
            services.AddAttachments();
            services.AddAuthorization();
            services.AddBlacklist();
        }
Exemplo n.º 2
0
        public async Task <BoxViewModel> Load(string uri)
        {
            var box = GetBox(uri);

            if (box.Loaded)
            {
                return(box);
            }

            var fi = new FileInfo(uri);

            if (!fi.Exists)
            {
                return(box);
            }

            box.Loaded = true;

            box.Title = fi.Name;

            var repo = new LiteDbRepository(uri);
            await box.Load(repo);

            box.Connect(repo);

            return(box);
        }
Exemplo n.º 3
0
        private async Task Export(Box box, string fileName)
        {
            var kamFileName = fileName + EXT_KAM;

            using (var repo = new LiteDbRepository(kamFileName))
            {
                foreach (var brd in box.Boards)
                {
                    await repo.CreateOrUpdateBoard(brd);

                    foreach (var col in box.Columns)
                    {
                        await repo.CreateOrUpdateColumn(col);
                    }

                    foreach (var row in box.Rows)
                    {
                        await repo.CreateOrUpdateRow(row);
                    }

                    foreach (var iss in box.Cards)
                    {
                        await repo.CreateOrUpdateCard(iss);
                    }
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Start of main program.
        /// </summary>
        /// <returns>Task.</returns>
        private static async Task Main()
        {
            using LiteDbRepository db = new LiteDbRepository(@"c:\code\Data.LiteDB");

            var updater = new NasdaqDbUpdater(db.Stocks);
            await updater.Update().ConfigureAwait(false);
        }
Exemplo n.º 5
0
        public void ConfigureServices(IServiceCollection services)
        {
            IConfigurationBuilder cfgBuilder = new ConfigurationBuilder().AddJsonFile("appsettings.json", false);
            IConfigurationRoot    config     = cfgBuilder.Build();

            LiteDatabase     database   = new LiteDatabase("data/internal.db");
            LiteDbRepository repository = new LiteDbRepository(database);

            services.AddSingleton <IConfiguration>(config);
            services.AddSingleton <IRepository>(repository);

            services.AddLogging(options => options
                                .AddConfiguration(config)
                                .AddDebug()
                                .AddReConsole()
                                .AddFile("logs/app_{Date}.log", minimumLevel: LogLevel.Information)
                                .SetMinimumLevel(LogLevel.Trace)
                                );

            services.AddScoped(typeof(IPluginConfiguration <>), typeof(PluginConfiguration <>));
            services.AddScoped(typeof(IPluginRepository <>), typeof(PluginRepository <>));
            services.AddScoped <IMessageChainFormatter, HyperCodeFormatter>();
            services.AddScoped <IMessageChainParser, HyperCodeParser>();
            services.AddDistributedMemoryCache();
            services.AddBots();
            services.AddClients(config);
            services.AddUnits();
            services.AddAttachments();
            services.AddAuthorization();
            services.AddBlacklist();
        }
Exemplo n.º 6
0
        public async Task Update()
        {
            var name     = GetCurrentMethodName();
            var dbName   = $"testdb-{name}-{DateTime.UtcNow.ToString("yyyy-mm-dd_hh-mm-dd-fff")}.db";
            var entities = new[] {
                new TestDomainEntity {
                    Id = "1", Value = "1"
                },
                new TestDomainEntity {
                    Id = "2", Value = "2"
                },
                new TestDomainEntity {
                    Id = "3", Value = "2"
                },
            };

            using (var db = new LiteDatabase(dbName))
            {
                db.GetCollection <TestDomainEntity>().Insert(entities);
            }
            var lr       = new LiteDbRepository <TestDomainEntity>(dbName);
            var toUpdate = new TestDomainEntity {
                Id = "1", Value = "new Value"
            };
            var e = await lr.Update(toUpdate);

            e.ShouldBe(toUpdate);

            using (var db = new LiteDatabase(dbName))
            {
                var e1 = db.GetCollection <TestDomainEntity>().FindById(toUpdate.Id.ToString());
                e1.Value.ShouldBe(toUpdate.Value);
            }
        }
Exemplo n.º 7
0
        public async Task GetById()
        {
            var name     = GetCurrentMethodName();
            var dbName   = $"testdb-{name}-{DateTime.UtcNow.ToString("yyyy-mm-dd_hh-mm-dd-fff")}.db";
            var entities = new[] {
                new TestDomainEntity {
                    Id = "1", Value = "1"
                },
                new TestDomainEntity {
                    Id = "2", Value = "2"
                },
                new TestDomainEntity {
                    Id = "3", Value = "2"
                },
            };

            using (var db = new LiteDatabase(dbName))
            {
                db.GetCollection <TestDomainEntity>().Insert(entities);
            }
            var lr      = new LiteDbRepository <TestDomainEntity>(dbName);
            var expElem = entities.ElementAt(1);
            var e       = await lr.GetById(expElem.Id);

            e.Value.ShouldBe(expElem.Value);
        }
Exemplo n.º 8
0
        public async Task NotInitializedAsync()
        {
            var localRepository = new LiteDbRepository <string, LiteDbItem>(null, new LiteDbRepositoryOptions
            {
                ConnectionString = GetTempDbName()
            });

            localRepository.IsInitialized.Should().BeTrue();

            var item = await localRepository.InsertAsync(new LiteDbItem());

            item.Should().NotBeNull();
        }
Exemplo n.º 9
0
        public async Task Insert()
        {
            var name   = GetCurrentMethodName();
            var dbName = $"testdb-{name}-{DateTime.UtcNow.ToString("yyyy-mm-dd_hh-mm-dd-fff")}.db";

            var lr       = new LiteDbRepository <TestDomainEntity>(dbName);
            var expValue = "my special value";
            var data     = new TestDomainEntity
            {
                Value = expValue
            };

            var dbRes = await lr.Insert(data);

            dbRes.Id.ToString().ShouldNotBeNullOrEmpty();
            dbRes.Value.ShouldBe(expValue);
            dbRes.ShouldBe(data);
        }
Exemplo n.º 10
0
        public async Task GetAll()
        {
            var name     = GetCurrentMethodName();
            var dbName   = $"testdb-{name}-{DateTime.UtcNow.ToString("yyyy-mm-dd_hh-mm-dd-fff")}.db";
            var entities = new[] {
                new TestDomainEntity {
                    Id = "1", Value = "1"
                },
                new TestDomainEntity {
                    Id = "2", Value = "2"
                },
                new TestDomainEntity {
                    Id = "3", Value = "2"
                },
            };

            using (var db = new LiteDatabase(dbName))
            {
                db.GetCollection <TestDomainEntity>().Insert(entities);
            }
            var lr  = new LiteDbRepository <TestDomainEntity>(dbName);
            var all = await lr.GetAll(null);

            all.Count().ShouldBe(entities.Length);
            foreach (var e in entities)
            {
                all.Any(x => x.Value == e.Value).ShouldBeTrue();
            }

            var q           = $"{nameof(TestDomainEntity.Value)} == 2";
            var p           = new Pagination <TestDomainEntity>(q);
            var allFiltered = await lr.GetAll(p);

            allFiltered.Count().ShouldBe(2);
            foreach (var e in entities)
            {
                allFiltered.All(x => x.Value == "2").ShouldBeTrue();
            }
        }
 public ProfilesController(LiteDbRepository repository)
 {
     this.repository = repository;
 }