private void InitializeSqlite() { var settings = new SqliteSettings { Path = Path.Combine(Environment.GetFolderPath((Environment.SpecialFolder.MyDocuments)), "database.sqlite") }; TinyIoCContainer.Current.Register(settings); }
// 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); }
public SqliteUserRepository(IConfigurationService configurationService) { _settings = configurationService.Get <SqliteSettings>("sqlite"); }
public SqliteWorkTimeIdGeneratorService(IConfigurationService configurationService) { _sqliteSettings = configurationService.Get <SqliteSettings>("sqlite"); }
public SqliteWorkTimeEsRepository(IConfigurationService configurationService, IMapper mapper) { _sqliteSettings = configurationService.Get <SqliteSettings>("sqlite"); _mapper = mapper; }
public SqliteTestImageRepository(IConfigurationService configurationService, IMapper mapper) { _settings = configurationService.Get <SqliteSettings>("sqlite"); _mapper = mapper; }
public NoteMeContextFactory(SqliteSettings settings) { _settings = settings; }