Exemple #1
0
 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();
 }
Exemple #2
0
        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());
        }
Exemple #3
0
        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);
        }
Exemple #6
0
        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();
        }
Exemple #7
0
        /// <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);
        }
Exemple #8
0
        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)
 {
 }
Exemple #10
0
 public DocumentDbQueryableDataService(string connectionString, DocumentDbConfiguration dbConfiguration = null)
     : base(connectionString, dbConfiguration)
 {
     this.createResourceQueryProvider = () => new DocumentDbDSPResourceQueryProvider();
 }