Beispiel #1
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSwaggerGenNewtonsoftSupport();
            services.AddSwaggerGen(o =>
            {
                var appXmlName = AppDomain.CurrentDomain.FriendlyName + ".xml";
                var xmlPath    = Path.Combine(AppContext.BaseDirectory, appXmlName);
                o.IncludeXmlComments(xmlPath);
            });

            var rabbitConfig = new RabbitMqConfig()
            {
                UserName    = "******",
                Password    = "******",
                Host        = "localhost",
                Port        = 5672,
                VirtualHost = "/",
                Exchange    = "test"
            };

            services.AddSingleton(rabbitConfig);
            services.AddSingleton <IRabbitConnectionWrapper, RabbitConnectionWrapper>();
            services.AddRabbitMq(typeof(AppleCreatedEventHandler).Assembly);

            services.AddCommandHandlers(typeof(AppleCommandHandlers).Assembly);
            services.AddInternalEventHandlers(typeof(AppleCommandHandlers).Assembly,
                                              typeof(AppleReadModel).Assembly);
            services.AddInternalEventPublisher();
            services.AddCommandSender();

            var eventStoreConfig = new EventStoreConfig();

            Configuration.GetSection(nameof(EventStoreConfig)).Bind(eventStoreConfig);
            var mongoConfig = new MongoConfig();

            Configuration.GetSection(nameof(MongoConfig)).Bind(mongoConfig);

            services.AddSingleton <IEventProducer, RabbitMqProducer>();
            services.AddEventStoreConfig(eventStoreConfig);
            services.AddMongoDb(mongoConfig);
            services.ConfigureMongoEventStore();
            services.ConfigureRepositories();

            var ravenSettings = new RavenSettings();

            Configuration.GetSection(nameof(RavenSettings)).Bind(ravenSettings);
            services.AddSingleton(ravenSettings);
            services.AddRavenDb(ravenSettings);
            services.AddQueryHandlers(typeof(AppleReadModel).Assembly);
            services.AddQueryProcessor();

            services
            .AddTransient <IReadModelRepository <AppleReadModel, string>,
                           RavenReadModelRepository <AppleReadModel, string> >();

            services.AddControllers().AddNewtonsoftJson(o =>
            {
                o.SerializerSettings.ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor;
            });
        }
Beispiel #2
0
        public static ITestHarness Create(RavenSettings dbConfig)
        {
            RavenRepository ravenRepository = new RavenRepository(dbConfig);

            ravenRepository.DropDatabase(dbConfig.Database);

            return(new RavenTestHarness(ravenRepository));
        }
Beispiel #3
0
        public AuthController()
        {
            var ravenSettings = new RavenSettings {
                Url = "http://127.0.0.1:8080", Database = "MTX"
            };
            var userRepository = new UserRepository(new DocumentStoreHolder(ravenSettings));

            authService = new AuthService(userRepository);
        }
        public DocumentStoreHolder(RavenSettings ravenSettings)
        {
            Store = new DocumentStore
            {
                Urls     = new[] { ravenSettings.Url },
                Database = ravenSettings.Database
            };

            Store.Initialize();

            // Store indexes
            IndexCreation.CreateIndexes(typeof(Users_ByUsername).Assembly, Store);
        }
Beispiel #5
0
        public RavenDbConnectionWrapper(RavenSettings ravenSettings)
        {
            _options = ravenSettings;
            Store    = new DocumentStore()
            {
                Urls = _options.Urls ?? throw new ArgumentNullException(nameof(_options.Urls)),
                             Database = _options.Database ?? "RavenDb"
            };

            Store.Conventions.SaveEnumsAsIntegers           = false;
            Store.Conventions.UseOptimisticConcurrency      = true;
            Store.Conventions.MaxNumberOfRequestsPerSession = 2;
            Store.Initialize();
        }
    }
Beispiel #6
0
        public static IServiceCollection AddRavenDbAsyncSession(
            this IServiceCollection services,
            RavenSettings settings)
        {
            var store = new DocumentStore()
            {
                Database    = settings.DatabaseName,
                Urls        = settings.Urls,
                Certificate = string.IsNullOrEmpty(settings.CertFilePath) ? null : new X509Certificate2(settings.CertFilePath, settings.CertPassword)
            };

            store.Initialize();
            services.AddSingleton <IDocumentStore>(store);
            return(services.AddScoped(sp => sp.GetRequiredService <IDocumentStore>().OpenAsyncSession()));
        }
Beispiel #7
0
        /// <summary>
        /// Add Chavah Raven Db instance with SSL Certificate loaded from Azure Vault.
        /// </summary>
        /// <param name="services"></param>
        /// <param name="configuration"></param>
        /// <returns></returns>
        public static IServiceCollection AddChavahRavenDbDocStore(this IServiceCollection services, IConfiguration configuration)
        {
            services.AddRavenDbDocStore(options: options =>
            {
                var settings = new RavenSettings();
                configuration.Bind(nameof(RavenSettings), settings);
                options.Settings = settings;

                // password is stored in azure vault.
                var certString = configuration.GetValue <string>(settings.CertFilePath);
                if (certString != null)
                {
                    var certificate     = Convert.FromBase64String(certString);
                    options.Certificate = new X509Certificate2(certificate);
                }
            });

            return(services);
        }
        /// <summary>
        /// The default configuration if needed.
        /// </summary>
        /// <param name="options"></param>
        public void Configure(RavenOptions options)
        {
            if (options.Settings == null)
            {
                var settings = new RavenSettings();
                _configuration.Bind(options.SectionName, settings);

                options.Settings = settings;
            }

            if (options.GetHostingEnvironment == null)
            {
                options.GetHostingEnvironment = _hosting;
            }

            if (options.GetConfiguration == null)
            {
                options.GetConfiguration = _configuration;
            }
        }
Beispiel #9
0
            public static void Load(Microsoft.Xna.Framework.Content.ContentManager p_loader)
            {
                string directory = "mods/props/textures/raven/";

                JKContentManager.RavenSprites.GoldRing        = Sprite.CreateSprite(p_loader.Load <Texture2D>("mods/props/textures/raven/gold_ring"));
                JKContentManager.RavenSprites.GoldRing.center = new Vector2(0.5f, 1f);
                JKContentManager.RavenSprites.Ruby            = Sprite.CreateSprite(p_loader.Load <Texture2D>("mods/props/textures/raven/ruby"));
                JKContentManager.RavenSprites.Ruby.center     = JKContentManager.RavenSprites.GoldRing.center;
                JKContentManager.RavenSprites.raven_settings  = UltraContent.LoadXmlFiles <RavenSettings>(Game1.instance, directory, ".ravset");
                List <string> list = JKContentManager.RavenSprites.raven_settings.Keys.ToList <string>();

                for (int i = 0; i < list.Count; i++)
                {
                    string        text  = list[i];
                    RavenSettings value = JKContentManager.RavenSprites.raven_settings[text];
                    value.name = text;
                    JKContentManager.RavenSprites.raven_settings[text] = value;
                    JKContentManager.RavenSprites.raven_content.Add(text, new JKContentManager.RavenSprites.RavenContent(p_loader.Load <Texture2D>("mods/props/textures/raven/" + JKContentManager.RavenSprites.raven_settings[text].texture)));
                }
                Sprite[] array = JKContentManager.Util.SpriteChopUtilGrid(p_loader.Load <Texture2D>("mods/props/textures/raven/raven"), new Point(3, 2), new Rectangle(0, 64, 144, 64));
                JKContentManager.RavenSprites.FlyEnding    = new Sprite[3];
                JKContentManager.RavenSprites.FlyEnding[0] = Sprite.CreateSprite(array[0].texture, array[0].source);
                JKContentManager.RavenSprites.FlyEnding[1] = Sprite.CreateSprite(array[1].texture, array[1].source);
                JKContentManager.RavenSprites.FlyEnding[2] = Sprite.CreateSprite(array[2].texture, array[2].source);
                Sprite[] array2 = JKContentManager.RavenSprites.FlyEnding;
                for (int j = 0; j < array2.Length; j++)
                {
                    array2[j].center = new Vector2(0.5f, 1f);
                }
                JKContentManager.RavenSprites.CarryCrown = JKContentManager.Util.SpriteChopUtilGrid(p_loader.Load <Texture2D>("mods/props/textures/raven/raven_crown"), new Point(3, 1));
                Vector2 center = Sprite.MakePixelCenter(new Vector2(0.5f, 1f), new Point(0, -16), JKContentManager.RavenSprites.CarryCrown[0].source.Size);

                array2 = JKContentManager.RavenSprites.CarryCrown;
                for (int j = 0; j < array2.Length; j++)
                {
                    array2[j].center = center;
                }
                JKContentManager.RavenSprites.OwlFlyingGargoyle = JKContentManager.Util.SpriteChopUtilGrid(p_loader.Load <Texture2D>("mods/ending/flying_gargoyle"), new Point(1, 3), new Vector2(0.5f, 0f));
            }
 public static IServiceCollection AddRavenDb(this IServiceCollection services, RavenSettings settings)
 {
     services.AddSingleton(services);
     services.AddSingleton <IRavenConnectionWrapper, RavenDbConnectionWrapper>();
     return(services);
 }
Beispiel #11
0
 public DataSource(RavenSettings ravenSettings)
 {
     _ravenSettings = ravenSettings;
     Store          = CreateStore();
 }