public DocumentReader(DocumentDbConfiguration docDbConfiguration, ICollectionNameResolver collectionNameResolver) { _docDbConfiguration = docDbConfiguration; _documentClient = new DocumentClient(new Uri(_docDbConfiguration.Endpoint), _docDbConfiguration.PrimaryKey); _collectionNameResolver = collectionNameResolver; _collectionName = _collectionNameResolver.Resolve(typeof(T)); Init().Wait(); }
public void BuildWithoutPartition_GetInvalidOperationException() { var builder = Substitute.For <IModelConventionInputBuilder <DocumentDbFoo1> >(); var repo = Substitute.For <IGraphQlRepository>(); var config = new DocumentDbConfiguration <DocumentDbFoo1>(builder, repo, typeof(DocumentDbFoo1)); Should.Throw <InvalidOperationException>(() => config.BuildDocumentDb()); }
public void BuildWithIntPartition_GetParitionConfigurationAsInput() { var builder = Substitute.For <IModelConventionInputBuilder <DocumentDbFoo2> >(); var repo = Substitute.For <IGraphQlRepository>(); var config = new DocumentDbConfiguration <DocumentDbFoo2>(builder, repo, typeof(DocumentDbFoo2)); config.AddPartition(x => x.MyIntCategory).BuildDocumentDb(); repo.Received(1).Configure(Arg.Any <Type>(), Arg.Is <Dictionary <string, object> >( x => x.Keys.Count(k => k.Contains(DocumentDbConstants.PartitionMemberExpression)) == 1)); }
public CollectionNameResolver(DocumentDbConfiguration configuration) { _configuration = configuration; _collectionNameMapping = new Dictionary <Type, string>() { { typeof(QuestionDto), _configuration.QuestionCollection }, { typeof(CategoryDto), _configuration.CategoriesCollection }, { typeof(MetadataBaseDto), _configuration.MetadataCollection }, { typeof(QuestionTypeDto), _configuration.MetadataCollection }, { typeof(AnswerTypeDto), _configuration.MetadataCollection }, { typeof(DifficultyLevelDto), _configuration.MetadataCollection } }; }
public DocumentDbContext(IOptions <DocumentDbConfiguration> options, ILogger <DocumentDbContext> logger) { _logger = logger; _configuration = options.Value; _logger.LogInformation($"Creating database {_configuration.DatabaseName} if not exists in {_configuration.EndpointUrl}"); Client = new DocumentClient(_configuration.EndpointUri, _configuration.PrimaryKey, SerializerSettings.Default); var resDb = Client.CreateDatabaseIfNotExistsAsync(new Database() { Id = _configuration.DatabaseName }, new RequestOptions() { JsonSerializerSettings = SerializerSettings.Default, OfferThroughput = 400 }).Result; Db = resDb.Resource; DatabaseName = _configuration.DatabaseName; DatabaseUri = UriFactory.CreateDatabaseUri(_configuration.DatabaseName); }
public DocumentDbTests() { //Init _configuration = new DocumentDbConfiguration() { Endpoint = "https://doc-quest.documents.azure.com:443/", PrimaryKey = "7Y9l4npDQyiTD2eQsRwZZgy8RwV4LXIMofCE0wDswegPf7IH93iVlTg815KRVlSL0TlGm5T3SzMBmP5Pkuan0w==", Database = "quest", QuestionCollection = "questions", CategoriesCollection = "categories" }; _reader = new DocumentReader <QuestionDto>(_configuration, new CollectionNameResolver(_configuration)); _writer = new DocumentWriter <QuestionDto>(_configuration, _reader, new CollectionNameResolver(_configuration)); _sampleDocumentId = "Sample_Question_Id"; CreateSampleDocument(); }
/// <summary> /// Get the Configuration of a selected database with the selected parameters. /// </summary> /// <returns></returns> private IConfiguration GetConfiguration() { IConfiguration extractConf; if (Constants.DatabaseTypeStrings[(int)DatabaseType.JsonExample] == cbDatabaseType.Text) { if (string.IsNullOrWhiteSpace(_jsonFileContent)) { extractConf = new JsonConfiguration(); } else { extractConf = new JsonConfiguration(_jsonFileContent); } } else if (Constants.DatabaseTypeStrings[(int)DatabaseType.MongoDb] == cbDatabaseType.Text) { extractConf = new MondoDbConfiguration(txtMongodbConnectionString.Text, txtMongodbDatabase.Text); } else if (Constants.DatabaseTypeStrings[(int)DatabaseType.DocumentDb] == cbDatabaseType.Text) { extractConf = new DocumentDbConfiguration(txtDocumentdbEndPoint.Text, txtDocumentdbAuthKey.Text, txtDocumentDbDatabase.Text); } else if (Constants.DatabaseTypeStrings[(int)DatabaseType.DynamoDb] == cbDatabaseType.Text) { extractConf = new DynamoDbConfiguration(txtDynamoDbAccessKey.Text, txtDynamoDbSecretKey.Text, txtDynamoDbRegion.Text); } else { MessageBox.Show("Invalid selected database", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); extractConf = null; } return(extractConf); }
public void ConfigureServices(IServiceCollection services) { services.AddDbContext <ApplicationIdentityContext>(options => options.UseSqlServer(Configuration.GetConnectionString("Identity"))); services.AddIdentity <ApplicationUser, IdentityRole>() .AddEntityFrameworkStores <ApplicationIdentityContext>() .AddDefaultTokenProviders(); services.AddMvc(); var documentDbConfiguration = new DocumentDbConfiguration(); Configuration.GetSection("DocumentDB").Bind(documentDbConfiguration); services.AddSingleton(documentDbConfiguration); var tableStorageConfiguration = new TableStorageConfiguration(); Configuration.GetSection("TableStorage").Bind(tableStorageConfiguration); services.AddSingleton(tableStorageConfiguration); var imagesDbConfiguration = new ImagesDbConfiguration(); Configuration.GetSection("ImagesDB").Bind(imagesDbConfiguration); services.AddSingleton(imagesDbConfiguration); services.AddTransient <IImagesRepository, ImagesRepository>(); //services.AddTransient<ITweetsRepository, DocumentDbTweetsRepository>(); services.AddTransient <ITweetsRepository, TableStorageTweetsRepository>(); var serviceBusConfiguration = new ServiceBusConfiguration(); Configuration.GetSection("ServiceBus").Bind(serviceBusConfiguration); services.AddSingleton(serviceBusConfiguration); services.AddSingleton <INotificationEnqueue, ServiceBusNotificationEnqueue>(); services.AddTransient <TweetsManager>(); }
/// <summary>Constructor</summary> public DocumentDbInMemoryDataService(string connectionString, DocumentDbConfiguration dbConfiguration = null) : base(connectionString, dbConfiguration) { }
public DocumentDbQueryableDataService(string connectionString, DocumentDbConfiguration dbConfiguration = null) : base(connectionString, dbConfiguration) { this.createResourceQueryProvider = () => new DocumentDbDSPResourceQueryProvider(); }