public ICadmusRepository CreateRepository(string database)
        {
            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }

            // build the tags to types map
            string pluginDir = Path.Combine(
                Directory.GetCurrentDirectory(), "Plugins");
            TagAttributeToTypeMap map = new TagAttributeToTypeMap();

            map.Add(pluginDir,
                    "*parts*.dll",
                    new PluginLoadContext(pluginDir));

            // create the repository (no need to use container here)
            MongoCadmusRepository repository = new MongoCadmusRepository(
                new StandardPartTypeProvider(map),
                new StandardItemSortKeyBuilder());

            repository.Configure(new MongoCadmusRepositoryOptions
            {
                ConnectionString = string.Format(
                    _configuration.GetConnectionString("Mongo"),
                    database)
            });

            return(repository);
        }
        /// <summary>
        /// Creates a Cadmus repository.
        /// </summary>
        /// <returns>repository</returns>
        /// <exception cref="ArgumentNullException">null database</exception>
        public ICadmusRepository CreateRepository()
        {
            // create the repository (no need to use container here)
            MongoCadmusRepository repository =
                new MongoCadmusRepository(
                    _partTypeProvider,
                    new StandardItemSortKeyBuilder());

            repository.Configure(new MongoCadmusRepositoryOptions
            {
                ConnectionString = string.Format(
                    _configuration.GetConnectionString("Default"),
                    _configuration.GetValue <string>("DatabaseNames:Data"))
            });

            return(repository);
        }
Esempio n. 3
0
        protected override ICadmusRepository GetRepository()
        {
            TagAttributeToTypeMap map = new TagAttributeToTypeMap();

            map.Add(new[]
            {
                typeof(NotePart).Assembly
            });
            MongoCadmusRepository repository = new MongoCadmusRepository(
                new StandardPartTypeProvider(map),
                new StandardItemSortKeyBuilder());

            repository.Configure(new MongoCadmusRepositoryOptions
            {
                // use the default ConnectionStringTemplate (local DB)
                ConnectionString = "mongodb://localhost:27017/" + DB_NAME
            });
            return(repository);
        }
Esempio n. 4
0
        /// <summary>
        /// Creates a Cadmus repository.
        /// </summary>
        /// <param name="database">The database name.</param>
        /// <returns>repository</returns>
        /// <exception cref="ArgumentNullException">null database</exception>
        public ICadmusRepository CreateRepository(string database)
        {
            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }

            // create the repository (no need to use container here)
            MongoCadmusRepository repository =
                new MongoCadmusRepository(
                    _partTypeProvider,
                    new StandardItemSortKeyBuilder());

            repository.Configure(new MongoCadmusRepositoryOptions
            {
                ConnectionString = string.Format(
                    _configuration.GetConnectionString("Default"), database)
            });

            return(repository);
        }