Ejemplo n.º 1
0
        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);
        }