protected BaseBsonSerializer(Type documentType, IBsonSerializer serializer, IMongoDbProvider mongoDbProvider, IIdentifierFinder identifierFinder)
 {
     IdentifierFinder = identifierFinder;
     DocumentType = documentType;
     Serializer = serializer;
     MongoDbProvider = mongoDbProvider;
 }
 public PlayersProvider(IMongoDbProvider dbProvider,
                        IMongoDbDefinitionBuilder mongoDbDefinitionBuilder,
                        IEncryptor encryptor)
 {
     this.dbProvider = dbProvider;
     this.mongoDbDefinitionBuilder = mongoDbDefinitionBuilder;
     this.encryptor    = encryptor;
     playersDatabase   = dbProvider.GetDatabase(DatabaseName);
     playersCollection = dbProvider.GetBsonDocumentCollection(DatabaseName, CollectionName);
 }
예제 #3
0
        public HttpTrackerLogRepository(IMongoDbProvider mongoDbProvider, HttpTrackerMongoDbOptions options, string name) : base(mongoDbProvider)
        {
            var collectionName = $"{DbConsts.CollectionNames.HttpTrackerLog}_{name}";

            if (!string.IsNullOrEmpty(options.CollectionPrefix))
            {
                collectionName = $"{options.CollectionPrefix}_{collectionName}";
            }

            CollectionName = collectionName;
        }
예제 #4
0
        public void CreateClient_ReturnsValidMongoClient()
        {
            // arrange
            _provider = new MongoDbProvider(_connStr, _mockMongo);

            // act
            var client = _provider.CreateClient(_connStr);

            // assert
            Assert.AreEqual(client.Settings.Server.Host, _host);
            Assert.AreEqual(client.Settings.Server.Port, _port);
        }
예제 #5
0
        public MongoDbBase(
            IShardableCollectionConfiguration collectionConfiguration,
            IMongoDbProvider databaseProvider
            )
        {
            _collectionConfiguration = collectionConfiguration;
            _databaseProvider        = databaseProvider;

            Ensure.NotNull(_collectionConfiguration.EntityName, nameof(_collectionConfiguration.EntityName));
            Ensure.Positive(_collectionConfiguration.ShardCount, nameof(_collectionConfiguration.ShardCount));

            CreateIndex();
        }
예제 #6
0
        //[ExpectedException(typeof(ArgumentException))]
        public void CraeteClient_InvalidConnStr_ThrowsInvalidArgumentException()
        {
            // arrange
            var invalidConnStr = "invalid conn str";

            _provider = new MongoDbProvider(invalidConnStr, _mockMongo);

            // act
            var client = _provider.CreateClient(invalidConnStr);

            // assert
            Assert.IsNull(client);
        }
예제 #7
0
        public void GetDatabase_ReturnsDatabase()
        {
            // arrange
            _provider = new MongoDbProvider(_connStr, _mockMongo);
            var dbName = "db name";

            // act
            var db = _provider.GetDatabase(dbName);

            // assert
            Assert.IsNotNull(db);
            Assert.AreEqual(db.DatabaseNamespace.DatabaseName, dbName);
        }
예제 #8
0
        public void GetCollection_ReturnsValidCollection()
        {
            // arrange
            string dbName         = "db name",
                   collectionName = "collection name";

            _provider = new MongoDbProvider(_connStr, _mockMongo);
            _provider.Init(dbName);


            // act
            var collection = _provider.GetCollection <BsonDocument>(collectionName);

            // assert
            Assert.IsNotNull(collection);
            Assert.AreEqual(collectionName, collection.CollectionNamespace.CollectionName);
        }
        private const int serversRefreshInterval = 5; // [sec]

        public MainForm(IServersProvider serversProvider,
                        IPlayersProvider playersProvider,
                        IMongoDbProvider dbProvider,
                        HttpServer masterServerHttpServer,
                        IStripMessenger stripMessenger)
        {
            this.serversProvider        = serversProvider;
            this.playersProvider        = playersProvider;
            this.masterServerHttpServer = masterServerHttpServer;
            this.stripMessenger         = stripMessenger;
            this.dbProvider             = dbProvider;
            InitializeComponent();

            this.serversProvider.OnUpdateServers     += UpdateServersInvoker;
            this.stripMessenger.OnNewMessageReceived += OnNewMessageReceived;

            ConnectToMongo();
        }
예제 #10
0
        public void TestInit()
        {
            JsonWriterSettings.Defaults.Indent = true;

            container = new UnityContainer();
            container.RegisterType <IMongoClient, MockMongoClient>();

            _host       = "host";
            _port       = 11111;
            _connStr    = string.Format("mongodb://{0}:{1}", _host, _port);
            _collection = new MockMongoCollection <BsonDocument>();

            //_mockMongo = new MockMongoClient();
            _mockMongo = container.Resolve <IMongoClient>();

            //var mockMongo = new Mock<IMongoClient>();
            //mockMongo.Setup(r => r.Settings.Server)
            //         .Returns(new MongoServerAddress(_host, _port));
            //_mockMongo = mockMongo.Object;

            _provider = new MongoDbProvider(_connStr, _mockMongo);
        }
 private static bool SetSceneHasData(IMongoDbProvider <SceneItem, string> mgdb, string sceneID)
 {
     try
     {
         if (null != mgdb.GetAll(o => o.SceneID == sceneID))
         {
             return(true);
         }
         using (var db = new BCEnterpriseContext())
         {
             var scene = db.Scenes.First(o => o.SceneID == sceneID);
             if (!scene.HasData)
             {
                 return(true);
             }
             scene.HasData = false;
             return(0 < db.SaveChanges());
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #12
0
 public void Setup()
 {
     _mongoDbProvider     = Substitute.For <IMongoDbProvider>();
     _repositoryUnderTest = new ContactRepository(_mongoDbProvider);
 }
 public HttpTrackerLogRepositoryFactory(IMongoDbProvider mongoDbProvider, IOptions <HttpTrackerMongoDbOptions> options)
 {
     _mongoDbProvider = mongoDbProvider;
     Options          = options.Value;
 }
예제 #14
0
 protected MongoDbRepositoryBase(IMongoDbProvider mongoDbProvider)
 {
     _mongoDbProvider = mongoDbProvider;
 }
예제 #15
0
 public OrderRepository(IMongoDbProvider <Domain.Order> dbProvider)
 {
     _orders = dbProvider.GetConnection();
 }
예제 #16
0
 public MongoDbRepository(IMongoDbProvider mongoDbProvider, string collectionName)
 {
     _mongoDbProvider = mongoDbProvider;
     _collectionName  = collectionName;
 }
 public void Setup()
 {
     _mongoDbProvider     = Substitute.For <IMongoDbProvider>();
     _repositoryUnderTest = new AboutRepository(_mongoDbProvider);
     _imageConverter      = new ImageToByteArrayToByteArrayConverer();
 }
예제 #18
0
 //初始化
 public RepositoryBase(IMongoDbProvider dbProvider, IBusinessPrimaryKeyGen businessPrimaryKeyGen)
 {
     _mongoDbProvider       = dbProvider;
     _businessPrimaryKeyGen = businessPrimaryKeyGen;
 }
예제 #19
0
 public PortfolioRepository(IMongoDbProvider mongoDbProvider) : base(mongoDbProvider, "portfolio")
 {
 }
예제 #20
0
 public AppInfoRepository(IMongoDbProvider dbProvider)
 {
     this.db = dbProvider.Db;
 }
예제 #21
0
 public MongoLinksRepository(IMongoDbProvider dbProvider)
 {
     _DbProvider = dbProvider ?? throw new ArgumentNullException(nameof(dbProvider));
 }
 public OneToManyBsonSerializer(Type documentType, IBsonSerializer serializer, IMongoDbProvider mongoDbProvider, IIdentifierFinder identifierFinder)
     : base(documentType, serializer, mongoDbProvider, identifierFinder)
 {
 }
 public abstract IBsonSerializer GetBsonSerializer(IBsonSerializer serializer, IMongoDbProvider mongoDbProvider, IIdentifierFinder entityLoader);
예제 #24
0
        static void OldMain(string[] args)
        {
            #region Provider

            string connStr = Settings.Default.MongoConnStr,
                   dbName  = Settings.Default.MongoDbName;


            _mongo    = container.Resolve <IMongoClient>();
            _provider = new MongoDbProvider(connStr, _mongo);



            //// get client
            //var client = _provider.CreateClient(connStr);


            //// get database
            //var db = _provider.GetDatabase("test");

            //// set working database
            //_provider.Init(dbName);


            //// get collection
            //var products = _provider.GetCollection<BsonDocument>("products");
            //var categories = _provider.GetCollection<BsonDocument>("categories");


            //// add document
            //var category = new Category
            //{
            //    CategoryId = 3,
            //    CategoryName = "Accessories"
            //};
            //_provider.AddToCollection<Category>(categories, category);


            //// get all documents
            //var docs = _provider.GetDocuments<BsonDocument>(categories);
            //foreach (var item in docs)
            //{
            //    Console.WriteLine(item.ToJson());
            //}


            //// get document by id (ObjectId("59e49ada5c9c8fc0039c4c0e"))
            //var doc = _provider.GetDocumentById("59e49ada5c9c8fc0039c4c0e", products);
            //Console.WriteLine(doc["_id"]);


            //// upadte document (category with ObjectId("59ea0f2fd1cd314b568a47a7"))
            //var upadated = new Category
            //{
            //    CategoryId = 3,
            //    CategoryName = "Games"
            //}.ToBsonDocument();
            //_provider.EditDocument("59ea0f2fd1cd314b568a47a7", upadated, categories);


            //// partial update
            //var updates = Builders<Category>.Update.Set(d => d.CategoryName, 5000);
            //_provider.EditDocument("59ea0f2fd1cd314b568a47a7", updates, categories);


            //// delete document
            //_provider.RemoveDocument("59ea5355c09c243ab0ac5680", categories);

            #endregion
        }
 public override IBsonSerializer GetBsonSerializer(IBsonSerializer serializer, IMongoDbProvider mongoDbProvider, IIdentifierFinder entityLoader)
 {
     return new ManyToOneBsonSerializer(Type, serializer, mongoDbProvider, entityLoader);
 }
예제 #26
0
 public BookRepository(IMongoDbProvider <BookDto> dbProvider)
 {
     _books = dbProvider.GetConnection();
 }
예제 #27
0
 public ContactRepository(IMongoDbProvider mongoDbProvider) : base(mongoDbProvider, "contact")
 {
 }
예제 #28
0
 public BookRepository(IMongoDbProvider <Domain.Book> dbProvider)
 {
     _books = dbProvider.GetConnection();
 }
예제 #29
0
 public ImageController(IMongoDbProvider mongoProvider)
 {
     _mongoProvider = mongoProvider;
 }
예제 #30
0
 public Mapper(IMongoDbProvider mongoDbProvider, IIdentifierFinder entityLoader)
 {
     _entityLoader = entityLoader;
     _mongoDbProvider = mongoDbProvider;
 }
예제 #31
0
 public MongoCounterRepository(IMongoDbProvider mongoDbProvider)
 {
     _MongoDbProvider = mongoDbProvider ?? throw new ArgumentNullException(nameof(mongoDbProvider));
 }
예제 #32
0
 public AboutRepository(IMongoDbProvider mongoDbProvider) : base(mongoDbProvider, "about")
 {
 }