Exemplo n.º 1
0
        private void InitializeSqlite()
        {
            var settings = new SqliteSettings
            {
                Path = Path.Combine(Environment.GetFolderPath((Environment.SpecialFolder.MyDocuments)),
                                    "database.sqlite")
            };

            TinyIoCContainer.Current.Register(settings);
        }
Exemplo n.º 2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            IConfigurationSection section = Configuration.GetSection(nameof(ApplicationSettings));

            services.Configure <ApplicationSettings>(section);

            section = Configuration.GetSection(nameof(MediaLibrarySettings));
            services.Configure <MediaLibrarySettings>(section);

            section = Configuration.GetSection(nameof(SqliteSettings));
            services.Configure <SqliteSettings>(section);

            // Replace FormatFilter with one that is Subsonic URI compatible
            ServiceDescriptor descriptor = services.FirstOrDefault(d => d.ServiceType == typeof(FormatFilter));

            services.Remove(descriptor);
            services.Add(ServiceDescriptor.Singleton <FormatFilter, SubsonicFormatFilter>());

            services.AddControllers();
            services.AddMvcCore(options => {
                // Prefer XML by default
                options.OutputFormatters.RemoveType <SystemTextJsonOutputFormatter>();
                options.OutputFormatters.Add(new CustomXmlSerializerOutputFormatter());
                options.OutputFormatters.Add(new SystemTextJsonOutputFormatter(new JsonSerializerOptions()));
            })
            .AddFormatterMappings(mappings => {
                // text/xml as specified in Subsonic API docs
                mappings.SetMediaTypeMappingForFormat("xml", "text/xml");
                mappings.SetMediaTypeMappingForFormat("json", "application/json");
            });

            SqliteSettings sqliteSettings        = section.Get <SqliteSettings>() ?? new SqliteSettings();
            string         databaseFileDirectory = Path.GetDirectoryName(sqliteSettings.DatabaseFilename);

            if (!string.IsNullOrEmpty(databaseFileDirectory))
            {
                Directory.CreateDirectory(databaseFileDirectory);
            }

            var settings = new SqliteDbContextSettings()
            {
                ConnectionString = "Data Source=" + sqliteSettings.DatabaseFilename
            };

            using (var context = new SqliteDbContext(settings)) {
                context.Database.Migrate();
            }

            services.AddSingleton(settings);
            services.AddSingleton <IMediaLibrary, SqliteMediaLibrary>();
            services.AddSingleton <MediaScanner>();
            services.AddHostedService <MediaLibraryService>();
        }
        private static SqliteSettings CreateSqlSettings()
        {
            var libPath = Path.Combine(Environment.GetFolderPath((Environment.SpecialFolder.MyDocuments)),
                                       "..",
                                       "Library",
                                       "data");

            if (!Directory.Exists(libPath))
            {
                Directory.CreateDirectory(libPath);
            }

            var settings = new SqliteSettings
            {
                Path = Path.Combine(libPath,
                                    "database.sqlite")
            };

            return(settings);
        }
Exemplo n.º 4
0
 public SqliteUserRepository(IConfigurationService configurationService)
 {
     _settings = configurationService.Get <SqliteSettings>("sqlite");
 }
 public SqliteWorkTimeIdGeneratorService(IConfigurationService configurationService)
 {
     _sqliteSettings = configurationService.Get <SqliteSettings>("sqlite");
 }
Exemplo n.º 6
0
 public SqliteWorkTimeEsRepository(IConfigurationService configurationService, IMapper mapper)
 {
     _sqliteSettings = configurationService.Get <SqliteSettings>("sqlite");
     _mapper         = mapper;
 }
Exemplo n.º 7
0
 public SqliteTestImageRepository(IConfigurationService configurationService, IMapper mapper)
 {
     _settings = configurationService.Get <SqliteSettings>("sqlite");
     _mapper   = mapper;
 }
 public NoteMeContextFactory(SqliteSettings settings)
 {
     _settings = settings;
 }