/// <summary> /// Processing all the published items. /// </summary> /// <param name="args"><see cref="PublishEndResultBatchArgs"/></param> public void ProcessChangedItems(PublishEndResultBatchArgs args) { var changedItems = new List <ChangedItem>(); var sourceDatabase = _databaseFactory.GetDatabase(args.JobData.SourceDatabaseName); // Process deleted items first var itemResults = args.Batch.ToList(); var deletedResults = itemResults.Where(x => x.Type == ManifestOperationResultType.Deleted); var createdModifiedResults = itemResults.Where(x => x.Type != ManifestOperationResultType.Deleted); var deletedResultsList = deletedResults.ToList(); if (deletedResultsList.Any()) { changedItems.AddRange(deletedResultsList.Select(deletedResult => ProcessDeletedItem(sourceDatabase, deletedResult))); } var createdModifiedResultsList = createdModifiedResults.ToList(); if (createdModifiedResultsList.Any()) { changedItems.AddRange(createdModifiedResultsList.Select(itemResult => ProcessChangedItem(sourceDatabase, itemResult)).Where(changedItem => changedItem != null)); } if (changedItems.Count > 0) { // Insert specific things that you would like to do // Examples: pass the changedItems to another custom pipeline, raise more events, or custom remote events with the changedItems as part of EventData } }
public void ThrowExceptionWhenPassingInvalidNameToDatabaseFactory() { var services = new ServiceCollection(); services.AddKorm("server=localhost-1", "db1"); services.AddKorm("server=localhost-2", "db2"); ServiceProvider provider = services.BuildServiceProvider(); IDatabaseFactory factory = provider.GetService <IDatabaseFactory>(); Action action = () => factory.GetDatabase("NonExistingName"); action.Should().Throw <ArgumentException>().And.ParamName.Should().Be("name"); }
public void ReturnTheSameDatabaseFromFactoryInTheSameScope() { var services = new ServiceCollection(); services.AddKorm("server=localhost-1", "db1"); services.AddKorm("server=localhost-2"); services.AddKorm("server=localhost-3", "db3"); ServiceProvider provider = services.BuildServiceProvider(); IDatabaseFactory factory1 = provider.GetService <IDatabaseFactory>(); IDatabase db1 = factory1.GetDatabase("db1"); IDatabase db2 = factory1.GetDatabase("db1"); IDatabase db3 = null; using (IServiceScope scope = provider.CreateScope()) { IDatabaseFactory factory2 = scope.ServiceProvider.GetService <IDatabaseFactory>(); db3 = factory2.GetDatabase("db1"); } db2.Should().Be(db1, "\"db2\" was created using the same factory as \"db1\"."); db3.Should().NotBeNull().And.NotBe(db1, "\"db3\" was created using factory in different scope as \"db1\"."); }
public void Log(LogEntity entity) { //DB call using (var database = _databaseFactory.GetDatabase()) { var activityId = database.CreateParameter("@activityId", SqlDbType.VarChar, 60, entity.ActivityId); IDbCommand command = database.CreateCommand(); command.Parameters.Add(activityId); command.CommandType = CommandType.StoredProcedure; database.Open(_appSettings.ConfigDataBaseConnection); command.Connection = database.GetConnection(); var affectedRows = command.ExecuteNonQuery(); } }
private IMongoCollection <RestaurantDto> GetCollection() { var database = _databaseFactory.GetDatabase(); var collection = database.GetCollection <RestaurantDto>(Collection); try { return(collection); } catch (Exception e) { _logger.Error("Exception in RestaurantDao GetCollection: " + e.Message); throw; } }
public void ReturnDatabaseWithDefaultName() { var services = new ServiceCollection(); DatabaseConfigurationBase config1 = Substitute.For <DatabaseConfigurationBase>(); DatabaseConfigurationBase config2 = Substitute.For <DatabaseConfigurationBase>(); services.AddKorm("server=localhost-1", "db1").UseDatabaseConfiguration(config1); services.AddKorm("server=localhost-2").UseDatabaseConfiguration(config2); ServiceProvider provider = services.BuildServiceProvider(); IDatabaseFactory factory = provider.GetService <IDatabaseFactory>(); _ = factory.GetDatabase(); config2.Received().OnModelCreating(Arg.Any <ModelConfigurationBuilder>()); config1.DidNotReceive().OnModelCreating(Arg.Any <ModelConfigurationBuilder>()); }
public void ThrowExceptionWhenUsingDisposedDatabaseFactory() { var services = new ServiceCollection(); services.AddKorm("server=localhost-1", "db1"); ServiceProvider provider = services.BuildServiceProvider(); IDatabaseFactory factory = null; using (IServiceScope scope = provider.CreateScope()) { factory = scope.ServiceProvider.GetService <IDatabaseFactory>(); } Action action = () => factory.GetDatabase("db1"); action.Should().Throw <ObjectDisposedException>(); }
public ThemeRepository(IDatabaseFactory factory) : base(factory.GetDatabase()) { }
protected BaseRepository(IDatabaseFactory databaseFactory) : this(databaseFactory.GetDatabase()) { }
protected override ObservatoryContext GetContext(IDatabaseFactory factory) { return(factory.GetDatabase()); }
public UserRepository(IDatabaseFactory factory) : base(factory.GetDatabase()) { }
/// <summary> /// Returns database registered with default connection string name /// (<see cref="KormBuilder.DefaultConnectionStringName"/>). /// </summary> /// <param name="factory">Database factory.</param> /// <returns>Database instance.</returns> public static IDatabase GetDatabase(this IDatabaseFactory factory) => factory.GetDatabase(KormBuilder.DefaultConnectionStringName);
public MyBusiness(IDatabaseFactory factory) { this.db = factory.GetDatabase(); }