public static IServiceCollection AddTranscriberDataAccess(this IServiceCollection services, IConfiguration configuration) { services.AddDataAccess(configuration); DataAccessClassMap.RegisterConcreteClass <ProjectUserEntity, TranscriberProjectUserEntity>(); services.AddMongoRepository <TranscriberTaskEntity>("tasks"); return(services); }
public static IServiceCollection AddSFDataAccess(this IServiceCollection services, IConfiguration configuration) { services.AddDataAccess(configuration); DataAccessClassMap.RegisterConcreteClass <ProjectUserEntity, SFProjectUserEntity>(); services.AddMongoRepository <SFProjectEntity>(SFDataAccessConstants.ProjectsCollectionName, indexSetup: indexes => { IndexKeysDefinitionBuilder <SFProjectEntity> builder = Builders <SFProjectEntity> .IndexKeys; indexes.CreateOrUpdate(new CreateIndexModel <SFProjectEntity>(builder.Ascending("Users.Id"), new CreateIndexOptions { Unique = true })); indexes.CreateOrUpdate(new CreateIndexModel <SFProjectEntity>(builder.Ascending("Users.UserRef"))); }); services.AddMongoRepository <SyncJobEntity>("sync_jobs"); services.AddMongoRepository <TextEntity>(SFDataAccessConstants.TextsCollectionName); services.AddMongoRepository <TranslateMetrics>("translate_metrics", cm => cm.MapProperty(m => m.SessionId).SetSerializer(new StringSerializer(BsonType.ObjectId))); return(services); }