public PatientRepository()
        {
            _server = new MongoServer(new MongoServerSettings { Server = new MongoServerAddress(_DBHOST), SafeMode = SafeMode.True });

            //patients
            _patients = _server.GetDatabase(_DBNAME).GetCollection<PatientModel>("patients");
            _patients.EnsureIndex(IndexKeys.Ascending("_id"), IndexOptions.SetUnique(true));
            _gridFS = _server.GetDatabase(_DBNAME).GridFS;

            new MongoDB.Web.Providers.MongoDBMembershipProvider();
        }
Exemple #2
0
 public MOngoTests()
 {
     server = MongoServer.Create();
     database = server.GetDatabase("Diplome");
     collection = database.GetCollection<Test>("companies");
        collection.RemoveAll();
 }
Exemple #3
0
        public void ReloadExisting()
        {
            connectionString = "mongodb://localhost/?safe=true";
            server = MongoServer.Create(connectionString);
            habraDb = server.GetDatabase("habr", SafeMode.True);
            posts = habraDb.GetCollection<Post>("posts");
            existedBeforeCount = posts.Count();

            using (client = new WebClient())
            {
                client.Encoding = Encoding.UTF8;
                foreach (var post in posts.FindAll())
                {
                    try
                    {
                        Console.Clear();
                        Console.WriteLine(string.Format("Reloaded: {0} posts of {1} possible", reloadedCount, existedBeforeCount));
                        Console.WriteLine("Processing: " + post.Url);
                        Console.WriteLine("Loading...");
                        string pageContent = client.DownloadString(post.Url);
                        Console.WriteLine("Parsing...");
                        ParsePostPage(post.Url, pageContent);

                    }
                    catch { }
                }
            }
        }
Exemple #4
0
        public void DownloadNew()
        {
            connectionString = "mongodb://localhost/?safe=true";
            server = MongoServer.Create(connectionString);
            habraDb = server.GetDatabase("habr", SafeMode.True);
            posts = habraDb.GetCollection<Post>("posts");
            existedBeforeCount = posts.Count();

            int postListPage = 1;
            while (downloadedCount < NEEDED_POST_COUNT)
            {
                using (client = new WebClient())
                {
                    client.Encoding = Encoding.UTF8;
                    try
                    {
                        string url = "http://habrahabr.ru/posts/collective/";
                        if (postListPage > 1)
                            url += string.Format("page{0}/", postListPage);
                        string pageContent = client.DownloadString(url);
                        ParsePostListPage(pageContent);
                        postListPage++;
                    }
                    catch { }
                }
            }
        }
 public void Initialize(string connectionString)
 {
   var mongoUrl = new MongoUrl( connectionString );
   var client = new MongoClient( mongoUrl );
   _server = client.GetServer();
   _database = _server.GetDatabase( mongoUrl.DatabaseName );
 }
Exemple #6
0
 public TaskRepository()
 {
     var client = new MongoClient(Properties.Settings.Default.MongoConnection);
     _server = client.GetServer();
     _database = _server.GetDatabase("IntegrityGTD", SafeMode.True);
     _tasks = _database.GetCollection<Task>("Tasks");
 }
Exemple #7
0
 public void ConnectDB()
 {
     string connectionString = "mongodb://*****:*****@linus.mongohq.com:10061/238c698d_a07f_425c_a07d_155064079ba8";
     client = new MongoClient(connectionString);
     server = client.GetServer();
     db = server.GetDatabase("238c698d_a07f_425c_a07d_155064079ba8");
 }
Exemple #8
0
 public MongoEventStore(IMongoConfiguration mongoConfiguration, IEventBus eventBus)
     : base(eventBus)
 {
     _server = MongoServer.Create(mongoConfiguration.Url);
     var mongoDatabaseSettings = _server.CreateDatabaseSettings(mongoConfiguration.DatabaseName);
     _database = _server.GetDatabase(mongoDatabaseSettings);
 }
Exemple #9
0
 public void TestFixture_Setup()
 {
     _server = new MongoServer();
     _db = _server.GetDatabase("TestSuiteDatabase");
     DroppedCollectionResponse collResponse = _db.DropCollection("TestClasses");
     _coll = _db.GetCollection<TestClass>("TestClasses");
 }
Exemple #10
0
        public ContactRepository(string connection)
        {
            if (string.IsNullOrWhiteSpace(connection))
            {
                connection = "mongodb://*****:*****@example.com", index),
                    Name = string.Format("test{0}", index),
                    Phone = string.Format("{0}{0}{0} {0}{0}{0} {0}{0}{0}{0}", index)
                };
                AddContact(contact1);
            }
        }
 public static void InitializeConnection()
 {
     client =
         new MongoClient("mongodb://*****:*****@ds063779.mongolab.com:63779/mongochat");
     server = client.GetServer();
     db = server.GetDatabase("mongochat");
 }
 public void TestFixtureSetup()
 {
     _server = Configuration.TestServer;
     _adminDatabase = _server.GetDatabase("admin");
     _database = Configuration.TestDatabase;
     _primary = _server.Primary;
 }
        public TodoRepository(string connection)
        {
            if (string.IsNullOrWhiteSpace(connection))
            {
                connection = ConfigurationManager.AppSettings["TodoConnectionString"];
            }

            _server = MongoServer.Create(connection);
            _database = _server.GetDatabase(ConfigurationManager.AppSettings["TodoDatabaseName"], SafeMode.True);
            _todos = _database.GetCollection<Todo>(ConfigurationManager.AppSettings["TodoTableName"]);

            bool resetData = true;
            bool.TryParse(ConfigurationManager.AppSettings["ResetData"], out resetData);

            if (resetData)
            {
                _todos.RemoveAll();
                for (int i = 0; i < 5; i++)
                {
                    Todo todo = new Todo
                    {
                        Description = string.Format("Todo {0}", i + 1),
                        Done = (i % 3 == 0 ? true : false),
                        CreationDatetime = DateTime.Now,
                        DoneDatetime = null
                    };

                    if (todo.Done)
                        todo.DoneDatetime = DateTime.Now;

                    AddTodo(todo);
                }
            }
        }
Exemple #14
0
 public MongoContext(string connectionString)
 {
     this.connectionString = connectionString;
     this.server = MongoServer.Create(this.connectionString);
     string databaseName = GetDatabaseName(this.connectionString);
     this.database = server.GetDatabase(databaseName);
 }
Exemple #15
0
 public HugRepository(string connectionString, string databaseName, IUserProfileRepository userProfileRepository)
 {
     _userProfileRepository = userProfileRepository;
     _server = MongoServer.Create(connectionString);
     _database = _server.GetDatabase(databaseName);
     _mongoCollection = _database.GetCollection<PenedatingMongoUser>("users");
 }
 public void TestFixtureSetUp()
 {
     _server = MongoServer.Create(ConnStr);
     if (_server.DatabaseExists(PropSetCollectionsDb))
         _server.DropDatabase(PropSetCollectionsDb);
     _testDb = _server.GetDatabase(PropSetCollectionsDb);
 }
Exemple #17
0
        // ---------- PROPERTIES ----------
        // ---------- CONSTRUCTORS ----------
        /// <summary>
        /// Creates a utility object that can be used to perform operations against a MongoDB server.
        /// Note:
        /// Uses the authentication and database information from the supplied configuration item.
        /// </summary>
        /// <param name="configurationFolderPath">The path to the folder containing the encrypted configuration file containing information required to establish the connection to the server.</param>
        /// <param name="configurationItemName">The name of configuration item containing the information required to connect to the server. (Typically it's filename without the extension.)</param>
        public MongoDBUtility(string configurationFolderPath, string configurationItemName)
        {
            if (!string.IsNullOrWhiteSpace(configurationFolderPath) && !string.IsNullOrWhiteSpace(configurationItemName))
            {
                ConfigurationItem configItem = new ConfigurationItem(configurationFolderPath, configurationItemName, true);

                try
                {
                    // Read the connection string from the configuration file.
                    url = MongoUrl.Create(configItem.Value);
                    client = new MongoClient(url);
                    server = client.GetServer();
                    database = server.GetDatabase(url.DatabaseName);
                }
                catch
                {
                    throw new FormatException("Could not load configuration data from file. File is not of the correct format.");
                }
            }
            else
            {
                if (string.IsNullOrWhiteSpace(configurationFolderPath))
                {
                    throw new ArgumentNullException("configurationFolderPath", "A path to a configuration items folder must be supplied.");
                }
                else
                {
                    throw new ArgumentNullException("configurationItemName", "The name of the configuration item to load must be supplied.");
                }
            }
        }
Exemple #18
0
        private static void Go(long userId)
        {
            var settings = new MongoServerSettings
            {
                Server = new MongoServerAddress("127.0.0.1", 27017),
                SafeMode = SafeMode.False
            };
            var mongoServer = new MongoServer(settings);

            var database = mongoServer.GetDatabase("Test");

            var map = new NoteMap();
            var collection = new EntityCollection<Note>(database, map.GetDescriptor(), true);

            var note = new Note
            {
                NoteID = "1",
                Title = "This is a book.",
                Content = "Oh yeah",
                UserID = 123321L
            };
            // collection.InsertOnSubmit(note);
            // collection.SubmitChanges();
            // var data = collection.SelectTo(n => new { n.NoteID, n.UserID });
            collection.Log = Console.Out;
            var a = 4;
            collection.Update(
                n => new Note { },
                n => true);
        }
        public static void FillDataForUser(MongoServer mongosvr)
        {
            MongoDatabase mongodb = mongosvr.GetDatabase("mongodb");

            MongoCollection<BsonDocument> mongoJsCol = mongodb.GetCollection<BsonDocument>("system.js");
            mongoJsCol.Insert<BsonDocument>(
                          new BsonDocument().Add("_id", "sum")
                                            .Add("value", "function (x, y) { return x + y; }"));
            MongoGridFS mongofs = mongodb.GetGridFS(new MongoGridFSSettings());
            MongoCollection<User> mongoCol = mongodb.GetCollection<User>("User");
            mongoCol.RemoveAll();
            Random Ro = new Random();
            ///HugeData
            for (int i = 0; i < 1000; i++)
            {
                mongoCol.Insert(new User()
                {
                    ID = i.ToString(),
                    Name = "Tom",
                    Age = (byte)Ro.Next(100),
                    Age2 = (byte)Ro.Next(100),
                    Age3 = (byte)Ro.Next(100),
                    address = new Address()
                    {
                        street = "123 Main St.",
                        City = "Centerville",
                        state = "PA",
                        Zip = Ro.Next(20)
                    }
                });
            }
        }
Exemple #20
0
 public PersistToMongo(string connectionString)
 {
     _mongoServer = new MongoClient(connectionString).GetServer();
     string databaseName = MongoUrl.Create(connectionString).DatabaseName;
     _mongoDatabase = _mongoServer.GetDatabase(databaseName);
     _mongoCollection = _mongoDatabase.GetCollection(COLLECTION_NAME);
 }
 public static void EstablishConnection()
 {
     client = new MongoClient(connectionString);
     server = client.GetServer();
     database = server.GetDatabase(DbName);
     entries = database.GetCollection<JSonReport>(collectionName);
 }
Exemple #22
0
 public MongoUtil()
 {
     connectionString = "mongodb://localhost";
     client  = new MongoClient(connectionString);
     server = client.GetServer();
     database = server.GetDatabase("testwechat");
 }
 static MongoRepositoryContext() {
     settings = new MongoRepositorySettings();
     var url = new MongoUrl(ConfigurationManager.ConnectionStrings["SysDB"].ConnectionString);
     client = new MongoClient(url);
     server = client.GetServer();
     database = server.GetDatabase(url.DatabaseName);
 }
 private void MongoSetup()
 {
     var connectionString = "mongodb://localhost";
     client = new MongoClient(connectionString);
     server = client.GetServer();
     database = server.GetDatabase("Byob");
 }
Exemple #25
0
		public MongoImpl(MongoServer connection, WriteConcern writeConcern)
		{
			this.writeConcern = writeConcern;
			Helpers.Random.Value.NextBytes(initialValue);
			collection =
				connection.GetDatabase(typeof (SomeDocument).Name).GetCollection<SomeDocument>(typeof (SomeDocument).Name);
		}
Exemple #26
0
 public MdbAccount()
 {
     m_Client = new MongoClient(Configuration.Database.Url);
     m_Server = m_Client.GetServer();
     m_Database = m_Server.GetDatabase(Configuration.Database.Name);
     m_Collection = m_Database.GetCollection<Account>(MDBAccountTable);
 }
Exemple #27
0
		public Impl(MongoServer connection, WriteConcern writeConcern)
		{
			_writeConcern = writeConcern;
			new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray().Take(4).ToArray(), 0)).NextBytes(_initialValue);
			_collection =
				connection.GetDatabase(typeof (SomeDocument).Name).GetCollection<SomeDocument>(typeof (SomeDocument).Name);
		}
 public PersonRepository()
 {
     string connectionString = "mongodb://localhost";
     _server = MongoServer.Create(connectionString);
     _peopleDb = _server.GetDatabase("Mono");
     _people = _peopleDb.GetCollection<Person>("Person");
 }
 public DbInterface(String host)
 {
     this.host = host;
     this.client = new MongoClient("mongodb://"+host);
     this.server = client.GetServer();
     this.docsRaw = server.GetDatabase("docs_raw");
     this.docsColl = docsRaw.GetCollection<BsonDocument>("fs.files");
 }
Exemple #30
0
 /// <summary>
 /// Gets a new Instance
 /// </summary>
 public void Generate()
 {
     lock (SyncGenerate)
     {
         _mongo = MongoServer.Create(_mongoSettings.GetSettigns());
         _database = _mongo.GetDatabase(_mongoSettings.Database);
     }
 }
 public MongodbAccess()
 {
     mongo_server   = MongoServer.Create(connect_string);
     mongo_database = mongo_server.GetDatabase(database);
 }
 private MongoCollection<BsonDocument> GetSessionCollection(MongoServer conn)
 {
     return conn.GetDatabase("SessionState").GetCollection(nameCollection);
 }
Exemple #33
0
        /// <summary>
        ///     加载
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmAddSharding_Load(object sender, EventArgs e)
        {
            if (!SystemManager.IsUseDefaultLanguage)
            {
                cmdClose.Text   = SystemManager.MStringResource.GetText(StringResource.TextType.Common_Close);
                cmdAddHost.Text =
                    SystemManager.MStringResource.GetText(StringResource.TextType.AddConnection_Region_AddHost);
                cmdRemoveHost.Text =
                    SystemManager.MStringResource.GetText(StringResource.TextType.AddConnection_Region_RemoveHost);
                lblReplHost.Text = SystemManager.MStringResource.GetText(StringResource.TextType.Common_Host);
                lblReplPort.Text = SystemManager.MStringResource.GetText(StringResource.TextType.Common_Port);

                Text = SystemManager.MStringResource.GetText(StringResource.TextType.ShardingConfig_Title);
                tabAddSharding.Text =
                    SystemManager.MStringResource.GetText(StringResource.TextType.ShardingConfig_AddSharding);
                lblMainReplsetName.Text =
                    SystemManager.MStringResource.GetText(StringResource.TextType.ShardingConfig_ReplsetName);
                cmdAddSharding.Text    = SystemManager.MStringResource.GetText(StringResource.TextType.Common_Add);
                chkAdvance.Text        = SystemManager.MStringResource.GetText(StringResource.TextType.Common_Advance_Option);
                tabShardingConfig.Text =
                    SystemManager.MStringResource.GetText(StringResource.TextType.ShardingConfig_EnableSharding);
                lblDBName.Text     = SystemManager.MStringResource.GetText(StringResource.TextType.ShardingConfig_DBName);
                lblCollection.Text =
                    SystemManager.MStringResource.GetText(StringResource.TextType.ShardingConfig_CollectionName);
                lblIndexLName.Text =
                    SystemManager.MStringResource.GetText(StringResource.TextType.ShardingConfig_FieldName);
                cmdEnableCollectionSharding.Text =
                    SystemManager.MStringResource.GetText(
                        StringResource.TextType.ShardingConfig_Action_CollectionSharding);
                cmdEnableDBSharding.Text =
                    SystemManager.MStringResource.GetText(StringResource.TextType.ShardingConfig_Action_DBSharding);
            }
            _prmSvr = SystemManager.GetCurrentServer();
            MongoDatabase   mongoDB  = _prmSvr.GetDatabase(MongoDbHelper.DATABASE_NAME_CONFIG);
            MongoCollection mongoCol = mongoDB.GetCollection("databases");

            foreach (BsonDocument item in mongoCol.FindAllAs <BsonDocument>())
            {
                if (item.GetValue(MongoDbHelper.KEY_ID) != MongoDbHelper.DATABASE_NAME_ADMIN)
                {
                    cmbDataBase.Items.Add(item.GetValue(MongoDbHelper.KEY_ID));
                    cmbShardKeyDB.Items.Add(item.GetValue(MongoDbHelper.KEY_ID));
                }
            }
            foreach (var lst in MongoDbHelper.GetShardInfo(_prmSvr, MongoDbHelper.KEY_ID))
            {
                lstSharding.Items.Add(lst.Value);
            }
            mongoCol = mongoDB.GetCollection("shards");
            cmbTagList.Items.Clear();
            foreach (BsonDocument mShard in mongoCol.FindAllAs <BsonDocument>())
            {
                if (mShard.Contains("tags"))
                {
                    foreach (BsonValue tag in mShard.GetElement("tags").Value.AsBsonArray)
                    {
                        //严格意义上说,不应该在同一个路由里面出现两个同名的标签。
                        if (!TagSet.ContainsKey(tag.ToString()))
                        {
                            TagSet.Add(tag.ToString(), mShard.GetElement(MongoDbHelper.KEY_ID).Value.ToString());
                            cmbTagList.Items.Add(mShard.GetElement(MongoDbHelper.KEY_ID).Value + "." + tag);
                        }
                    }
                }
            }
        }
        public List <xmlDataSources> findXML_Server(string kettext, string start_time, string end_time, string Rack_ID)
        {
            #region Read  database info server
            try
            {
                List <xmlDataSources> ClaimReport_Server = new List <xmlDataSources>();

                MongoServer     server      = MongoServer.Create(connectionString);
                MongoDatabase   db1         = server.GetDatabase(DB_NAME);
                MongoCollection collection1 = db1.GetCollection("KM_BiotechnologyXML_XmlData");
                MongoCollection <BsonDocument> employees = db1.GetCollection <BsonDocument>("KM_BiotechnologyXML_XmlData");

                var query = new QueryDocument("Comments", kettext);
                //    var dd = Query.And(Query.EQ("jigoudaima", jigoudaima), Query.EQ("fapiaoleixing", fapiaoleixing));//同时满足多个条件
                if (kettext != "")
                {
                    foreach (BsonDocument emp in employees.Find(query))
                    {
                        xmlDataSources item = new xmlDataSources();

                        #region 数据
                        if (emp.Contains("_id"))
                        {
                            item.Id = (emp["_id"].ToString());
                        }
                        if (emp.Contains("Rack_ID"))
                        {
                            item.Rack_ID = (emp["Rack_ID"].ToString());
                        }
                        if (emp.Contains("Hole_ID"))
                        {
                            item.Hole_ID = (emp["Hole_ID"].ToString());
                        }
                        if (emp.Contains("Tube_ID"))
                        {
                            item.Tube_ID = (emp["Tube_ID"].ToString());
                        }
                        if (emp.Contains("FileName"))
                        {
                            item.FileName = (emp["FileName"].AsString);
                        }
                        if (emp.Contains("Comments"))
                        {
                            item.Comments = (emp["Comments"].AsString);
                        }
                        if (emp.Contains("OrderName"))
                        {
                            item.OrderName = (emp["OrderName"].AsString);
                        }
                        if (emp.Contains("Input_Date"))
                        {
                            item.Input_Date = (emp["Input_Date"].AsString);
                        }

                        #endregion

                        // ClaimReport_Server.Add(item);
                    }
                }
                if (Rack_ID != "")
                {
                    query = new QueryDocument("Rack_ID", Rack_ID);
                    foreach (BsonDocument emp in employees.Find(query))
                    {
                        xmlDataSources item = new xmlDataSources();

                        #region 数据
                        if (emp.Contains("_id"))
                        {
                            item.Id = (emp["_id"].ToString());
                        }
                        if (emp.Contains("Rack_ID"))
                        {
                            item.Rack_ID = (emp["Rack_ID"].ToString());
                        }
                        if (emp.Contains("Hole_ID"))
                        {
                            item.Hole_ID = (emp["Hole_ID"].ToString());
                        }
                        if (emp.Contains("Tube_ID"))
                        {
                            item.Tube_ID = (emp["Tube_ID"].ToString());
                        }
                        if (emp.Contains("FileName"))
                        {
                            item.FileName = (emp["FileName"].AsString);
                        }
                        if (emp.Contains("Comments"))
                        {
                            item.Comments = (emp["Comments"].AsString);
                        }
                        if (emp.Contains("OrderName"))
                        {
                            item.OrderName = (emp["OrderName"].AsString);
                        }
                        if (emp.Contains("Input_Date"))
                        {
                            item.Input_Date = (emp["Input_Date"].AsString);
                        }

                        #endregion
                        //  ClaimReport_Server.Add(item);
                    }
                }
                var query1 = Query.And(Query.GTE("Input_Date", start_time.Replace("/", "")), Query.LTE("Input_Date", end_time.Replace("/", "")));
                if (kettext != "" && Rack_ID == "")
                {
                    query1 = Query.And(Query.GTE("Input_Date", start_time.Replace("/", "")), Query.LTE("Input_Date", end_time.Replace("/", "")), Query.Matches("Comments", kettext));
                }
                if (Rack_ID != "" && kettext == "")
                {
                    query1 = Query.And(Query.GTE("Input_Date", start_time.Replace("/", "")), Query.LTE("Input_Date", end_time.Replace("/", "")), Query.EQ("Rack_ID", Rack_ID));
                }
                if (Rack_ID != "" && kettext != "")
                {
                    query1 = Query.And(Query.GTE("Input_Date", start_time.Replace("/", "")), Query.LTE("Input_Date", end_time.Replace("/", "")), Query.EQ("Rack_ID", Rack_ID), Query.EQ("Comments", kettext));
                }



                foreach (BsonDocument emp in employees.Find(query1))
                {
                    xmlDataSources item = new xmlDataSources();
                    #region 数据
                    if (emp.Contains("_id"))
                    {
                        item.Id = (emp["_id"].ToString());
                    }
                    if (emp.Contains("Rack_ID"))
                    {
                        item.Rack_ID = (emp["Rack_ID"].ToString());
                    }
                    if (emp.Contains("Hole_ID"))
                    {
                        item.Hole_ID = (emp["Hole_ID"].ToString());
                    }
                    if (emp.Contains("Tube_ID"))
                    {
                        item.Tube_ID = (emp["Tube_ID"].ToString());
                    }
                    if (emp.Contains("FileName"))
                    {
                        item.FileName = (emp["FileName"].AsString);
                    }
                    if (emp.Contains("Comments"))
                    {
                        item.Comments = (emp["Comments"].AsString);
                    }
                    if (emp.Contains("OrderName"))
                    {
                        item.OrderName = (emp["OrderName"].AsString);
                    }
                    if (emp.Contains("Input_Date"))
                    {
                        item.Input_Date = (emp["Input_Date"].AsString);
                    }

                    #endregion

                    ClaimReport_Server.Add(item);
                }


                return(ClaimReport_Server);
            }
            catch (Exception ex)
            {
                MessageBox.Show("" + ex);
                return(null);

                throw ex;
            }
            #endregion
        }
Exemple #35
0
 public void ChangeDB(string dbname)
 {
     _mongoDb         = _mongoServer.GetDatabase(dbname);
     _mongoCollection = _mongoDb.GetCollection <T>(_collectionName);
     _gridFS          = _mongoDb.GridFS;
 }
        public List <xmlDataSources> findALLXML_Server()
        {
            try
            {
                List <xmlDataSources> ClaimReport_Server = new List <xmlDataSources>();

                MongoServer     server      = MongoServer.Create(connectionString);
                MongoDatabase   db1         = server.GetDatabase(DB_NAME);
                MongoCollection collection1 = db1.GetCollection("KM_BiotechnologyXML_XmlData");
                MongoCollection <BsonDocument> employees = db1.GetCollection <BsonDocument>("KM_BiotechnologyXML_XmlData");

                foreach (BsonDocument emp in employees.FindAll())
                {
                    xmlDataSources item = new xmlDataSources();

                    #region 数据
                    if (emp.Contains("_id"))
                    {
                        item.Id = (emp["_id"].ToString());
                    }
                    if (emp.Contains("Rack_ID"))
                    {
                        item.Rack_ID = (emp["Rack_ID"].ToString());
                    }
                    if (emp.Contains("Hole_ID"))
                    {
                        item.Hole_ID = (emp["Hole_ID"].ToString());
                    }
                    if (emp.Contains("Tube_ID"))
                    {
                        item.Tube_ID = (emp["Tube_ID"].ToString());
                    }
                    if (emp.Contains("FileName"))
                    {
                        item.FileName = (emp["FileName"].AsString);
                    }
                    if (emp.Contains("Comments"))
                    {
                        item.Comments = (emp["Comments"].AsString);
                    }
                    if (emp.Contains("OrderName"))
                    {
                        item.OrderName = (emp["OrderName"].AsString);
                    }
                    if (emp.Contains("Input_Date"))
                    {
                        item.Input_Date = (emp["Input_Date"].AsString);
                    }

                    #endregion

                    ClaimReport_Server.Add(item);
                }
                return(ClaimReport_Server);
            }
            catch (Exception ex)
            {
                MessageBox.Show("" + ex);
                return(null);

                throw ex;
            }
        }
Exemple #37
0
 /// <summary>
 /// Initializes a new instance of <c>MongoDBRepositoryContext</c> class.
 /// </summary>
 /// <param name="settings">The <see cref="IMongoDbRepositoryContextSettings"/> instance which contains
 /// the setting information for initializing the repository context.</param>
 public MongoDbRepositoryContext(IMongoDbRepositoryContextSettings settings)
 {
     this._settings = settings;
     _server        = new MongoServer(settings.ServerSettings);
     _database      = _server.GetDatabase(settings.DatabaseName, settings.GetDatabaseSettings(_server));
 }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="connectionString"></param>
        /// <param name="databaseName"></param>
        public MongoDBSslAggregatorPersistor(string connectionString, string databaseName)
        {
            var    connectionParts = connectionString.Split(',');
            string nodes           = string.Empty;
            string username        = string.Empty;
            string password        = string.Empty;
            string certPath        = string.Empty;
            string userdb          = string.Empty;
            string cert            = string.Empty;
            string certPassword    = string.Empty;

            foreach (string connectionPart in connectionParts)
            {
                var nameValue = connectionPart.Split('=');
                switch (nameValue[0].ToLower())
                {
                case "nodes":
                    nodes = nameValue[1];
                    break;

                case "userdb":
                    userdb = nameValue[1];
                    break;

                case "username":
                    username = nameValue[1];
                    break;

                case "password":
                    password = nameValue[1];
                    break;

                case "certpath":
                    certPath = nameValue[1];
                    break;

                case "cert":
                    cert = nameValue[1];
                    break;

                case "certpassword":
                    certPassword = nameValue[1];
                    break;
                }
            }

            var mongoNodes = nodes.Split(';');

            List <X509Certificate> certs = null;

            if (!string.IsNullOrEmpty(certPath))
            {
                if (string.IsNullOrEmpty(certPassword))
                {
                    certs = new List <X509Certificate>
                    {
                        new X509Certificate2(certPath)
                    };
                }
                else
                {
                    certs = new List <X509Certificate>
                    {
                        new X509Certificate2(certPath, certPassword)
                    };
                }
            }

            if (!string.IsNullOrEmpty(cert))
            {
                if (string.IsNullOrEmpty(certPassword))
                {
                    certs = new List <X509Certificate>
                    {
                        new X509Certificate2(Convert.FromBase64String(cert))
                    };
                }
                else
                {
                    certs = new List <X509Certificate>
                    {
                        new X509Certificate2(Convert.FromBase64String(cert), certPassword)
                    };
                }
            }

            List <MongoCredential> credentials = null;

            if (!string.IsNullOrEmpty(username))
            {
                string db = "admin";

                if (!string.IsNullOrEmpty(userdb))
                {
                    db = userdb;
                }

                credentials = new List <MongoCredential>
                {
                    MongoCredential.CreateCredential(db, username, password)
                };
            }

            var settings = new MongoClientSettings
            {
                UseSsl         = true,
                Credentials    = credentials,
                ConnectionMode = ConnectionMode.Automatic,
                Servers        = mongoNodes.Select(x => new MongoServerAddress(x)),
                SslSettings    = new SslSettings
                {
                    ClientCertificates = certs,
                    ClientCertificateSelectionCallback = (sender, host, certificates, certificate, issuers) => certificates[0],
                    CheckCertificateRevocation         = false
                }
            };

            var         client        = new MongoClient(settings);
            MongoServer server        = client.GetServer();
            var         mongoDatabase = server.GetDatabase(databaseName);

            _collection = mongoDatabase.GetCollection <MongoDbSslData <object> >("Aggregator");
        }
Exemple #39
0
 public Baza()
 {
     _client = new MongoClient("mongodb://localhost:27017");
     _server = _client.GetServer();
     _db     = _server.GetDatabase("portal");
 }
Exemple #40
0
        static void Main(string[] args)
        {
            Console.WriteLine("Connect...");

            MongoServer mongo = MongoServer.Create();

            mongo.Connect();

            Console.WriteLine("Connected"); Console.WriteLine();

            var db = mongo.GetDatabase("tutorial");

            using (mongo.RequestStart(db))
            {
                var collection = db.GetCollection <BsonDocument>("books");

                BsonDocument book = new BsonDocument()
                                    .Add("_id", BsonValue.Create(BsonType.ObjectId))
                                    .Add("author", "Ernest Hemingway")
                                    .Add("title", "For Whom the Bell Tolls");

                collection.Insert(book);

                var query = new QueryDocument("author", "Ernest Hemingway");

                foreach (BsonDocument item in collection.Find(query))
                {
                    string json = item.ToJson();

                    Console.WriteLine(json);
                    Console.WriteLine();

                    JToken token = JToken.Parse(json);
                    token.SelectToken("title").Replace("some other title");

                    Console.WriteLine("Author: {0}, Title: {1}", token.SelectToken("author"), token.SelectToken("title"));
                    Console.WriteLine();

                    XNode node = JsonConvert.DeserializeXNode(json, "documents");

                    Console.WriteLine("Node:");
                    Console.WriteLine(node);
                    Console.WriteLine();

                    BsonElement author = item.GetElement("author");
                    BsonElement title  = item.GetElement("title");

                    foreach (BsonElement element in item.Elements)
                    {
                        Console.WriteLine("Name: {0}, Value: {1}", element.Name, element.Value);
                    }

                    Console.WriteLine();
                    Console.WriteLine("Author: {0}, Title: {1}", author.Value, title.Value);
                }
            }

            Console.WriteLine();
            Console.Read();

            mongo.Disconnect();
        }
Exemple #41
0
        public MongoCollection getCollection(string dbName, string collectionName)
        {
            MongoDatabase db = server.GetDatabase(dbName);

            return(db.GetCollection(collectionName));
        }
Exemple #42
0
 public MongoConnectionManager()
 {
     _client = new MongoClient("mongodb://localhost:27017");
     _server = _client.GetServer();
     _db     = _server.GetDatabase("PeopleDB");
 }
Exemple #43
0
 public DataAccessProducto()
 {
     _client = new MongoClient("mongodb://localhost:27017");
     _server = _client.GetServer();
     _db     = _server.GetDatabase("POSDB");
 }
    static void Main(string[] args)
    {
        // TO DO: Add your code here
        int      days      = 20;
        DateTime curDate   = new DateTime(2017, 1, 30);
        DateTime beginDate = curDate.AddDays(-1 * days);
        DateTime endDate   = curDate;

        MongoClient   client   = new MongoClient("mongodb://localhost:27017");
        MongoServer   server   = client.GetServer();
        MongoDatabase database = server.GetDatabase("finance");

        BsonElement[] eleArray = new BsonElement[1];
        BsonDocument  temp     = new BsonDocument(new BsonElement[] { new BsonElement("$lt", endDate.ToString("yyyy-MM-dd")),
                                                                      new BsonElement("$gte", beginDate.ToString("yyyy-MM-dd")) });

        eleArray[0] = new BsonElement("date", temp);
        Console.WriteLine(eleArray[0]);
        QueryDocument query = new QueryDocument(eleArray);

        Dictionary <string, int>       plateCount = new Dictionary <string, int>();
        MongoCollection <BsonDocument> collection = database.GetCollection <BsonDocument>("LeaderPlates");

        foreach (BsonDocument document in collection.Find(query))
        {
            BsonValue bsonValue = null;
            if (!document.TryGetValue("plates", out bsonValue))
            {
                continue;
            }
            if (bsonValue == null)
            {
                continue;
            }
            BsonArray plates = (BsonArray)bsonValue;
            foreach (BsonValue plate in plates)
            {
                string name = (string)plate;
                if (!plateCount.ContainsKey(name))
                {
                    plateCount.Add(name, 1);
                }
                else
                {
                    plateCount[name]++;
                }
            }
        }

        plateCount = SortDictionary_Desc(plateCount);
        List <string> leaderPlates = new List <string>();
        int           k            = 0;
        int           lastCount    = 0;

        foreach (KeyValuePair <string, int> kvp in plateCount)
        {
            k++;
            if ((k > 3) && (kvp.Value < lastCount))
            {
                break;
            }
            Console.WriteLine("symbol:{0},count:{1}", kvp.Key, kvp.Value);
            leaderPlates.Add(kvp.Key);
            lastCount = kvp.Value;
        }
        BsonArray plateArray = new BsonArray(leaderPlates.Count);

        foreach (string plate in leaderPlates)
        {
            plateArray.Add(plate);
        }

        BsonElement[] eleArray1 = new BsonElement[2];
        eleArray1[0] = new BsonElement("date", temp);
        temp         = new BsonDocument(new BsonElement("$in", plateArray));
        eleArray1[1] = new BsonElement("industry", temp);
        Console.WriteLine("条件1:{0},条件2:{1}", eleArray1[0], eleArray1[1]);
        QueryDocument query1 = new QueryDocument(eleArray1);

        List <BsonDocument>            listBD      = new List <BsonDocument>();
        MongoCollection <BsonDocument> collection1 = database.GetCollection <BsonDocument>("IndustriesUpLimitStatis");

        foreach (BsonDocument document in collection1.Find(query1))
        {
            listBD.Add(document);
        }
        eleArray1[1] = new BsonElement("area", temp);
        Console.WriteLine("条件1:{0},条件2:{1}", eleArray1[0], eleArray1[1]);
        query1      = new QueryDocument(eleArray1);
        collection1 = database.GetCollection <BsonDocument>("AreasUpLimitStatis");
        foreach (BsonDocument document in collection1.Find(query1))
        {
            listBD.Add(document);
        }
        eleArray1[1] = new BsonElement("concept", temp);
        Console.WriteLine("条件1:{0},条件2:{1}", eleArray1[0], eleArray1[1]);
        query1      = new QueryDocument(eleArray1);
        collection1 = database.GetCollection <BsonDocument>("ConceptsUpLimitStatis");
        foreach (BsonDocument document in collection1.Find(query1))
        {
            listBD.Add(document);
        }
        Console.WriteLine(listBD.Count);
        Dictionary <string, List <string> > securityUpLimitStatis = new Dictionary <string, List <string> >();

        foreach (BsonDocument document in listBD)
        {
            BsonArray documentArray = (BsonArray)document["securities"];
            foreach (BsonDocument subDocument in documentArray)
            {
                string symbol = (string)subDocument["symbol"];
                string time   = (string)subDocument["time"];

                List <string> ls = null;
                if (!securityUpLimitStatis.TryGetValue(symbol, out ls))
                {
                    ls = new List <string>();
                    securityUpLimitStatis.Add(symbol, ls);
                }
                if (!ls.Contains(time))
                {
                    ls.Add(time);
                }
            }
        }
        Dictionary <string, int> securityUpLimitCount = new Dictionary <string, int>();

        foreach (KeyValuePair <string, List <string> > kvp in securityUpLimitStatis)
        {
            securityUpLimitCount.Add(kvp.Key, kvp.Value.Count);
        }
        securityUpLimitCount = SortDictionary_Desc(securityUpLimitCount);      //降序排序
        foreach (KeyValuePair <string, int> kvp in securityUpLimitCount)
        {
            Console.WriteLine("symbol:{0},count:{1}", kvp.Key, kvp.Value);
        }
    }
Exemple #45
0
        private void okPicture_Click(object sender, EventArgs e)
        {
            try
            {
                MongoClient        client          = new MongoClient("mongodb://*****:*****@ds141902.mlab.com:41902/ox");
                MongoServer        server          = client.GetServer();
                MongoDatabase      database        = server.GetDatabase("ox");
                MongoCollection    mongoCollection = database.GetCollection <User>("User");
                User               user            = new User();
                BindingList <User> doclist         = new BindingList <User>();
                var getCollection = database.GetCollection <User>("User");
                var insertUser    = getCollection.AsQueryable().Where(pd => pd.Username == Username.Text);

                foreach (var p in insertUser)
                {
                    doclist.Add(p);
                    Application.DoEvents();
                }
                dataGridView1.DataSource = doclist;
                if (dataGridView1.Rows.Count == 0)
                {
                    if (!string.IsNullOrEmpty(Username.Text.Trim()) && !Username.Text.Equals("Username"))
                    {
                        user.Username = Username.Text;
                    }
                    else
                    {
                        MessageBox.Show("กรุณากรอกUsername");
                    }
                    if (!string.IsNullOrEmpty(Password.Text.Trim()) && !Password.Text.Equals("Password"))
                    {
                        user.Password = Password.Text;
                    }
                    else
                    {
                        MessageBox.Show("กรุณากรอกPassword");
                    }
                    if (!string.IsNullOrEmpty(User.Text.Trim()) && !User.Text.Equals("Name"))
                    {
                        user.Name = User.Text;
                    }
                    else
                    {
                        MessageBox.Show("กรุณากรอกName");
                    }
                    user.Avatar = null;
                    user.Win    = 0;
                    user.Draw   = 0;
                    user.Lose   = 0;

                    if (!string.IsNullOrEmpty(Username.Text.Trim()) &&
                        !string.IsNullOrEmpty(Password.Text.Trim()) &&
                        !string.IsNullOrEmpty(User.Text.Trim()) &&
                        (!Username.Text.Equals("Username") &&
                         !Password.Text.Equals("Password") &&
                         !User.Text.Equals("Name")))
                    {
                        mongoCollection.Insert(user);
                        MessageBox.Show("สมัครเสร็จสิ้น");
                    }
                    else
                    {
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:" + ex);
            }
        }
Exemple #46
0
    protected override bool doJob()
    {
        Console.WriteLine("正在读取Tick数据生成涨停板数据分析表...");

        /*Console.WriteLine("测试作业.........");
         * return true;*/
        try {
            GMRealTimeProvider provider = (GMRealTimeProvider)ProviderManager.MarketDataProviders["GMRealTimeProvider"];
            provider.Connect(10000);
            if (!provider.IsConnected)
            {
                return(false);
            }
            string path = this.dataPath + "/" + this.curDate.Year.ToString() + "/" + this.curDate.Month.ToString();
            if (!Directory.Exists(path))
            {
                Console.WriteLine("Trade数据目录不存在!");
                return(false);
            }
            string dateString = this.curDate.ToString("yyyy-MM-dd");
            List <AnalysisItem> analysisList = new List <AnalysisItem>();
            DataFile            file         = null;
            try {
                file = DataFile.Open(path);
                foreach (Instrument inst in InstrumentManager.Instruments)
                {
                    if (inst.SecurityDesc.IndexOf("B") >= 0)
                    {
                        continue;                                                       //除去B股
                    }
                    if (inst.SecurityType == "IDX")
                    {
                        continue;                                              //除去指数
                    }
                    FileSeries dailySeries = (FileSeries)inst.GetDataSeries(DataManager.EDataSeries.Daily);
                    if (dailySeries == null || dailySeries.Count <= 0)
                    {
                        continue;
                    }
                    int i = dailySeries.IndexOf(this.curDate);
                    if (i < 0)
                    {
                        continue;                       //没有日线,当日不开盘
                    }
                    i = i - 10 > 0?i - 10:0;            //往前推10个交易日
                    DateTime        firstDate = dailySeries[i].DateTime;
                    ISeriesObject[] dailys    = dailySeries.GetArray(firstDate, this.curDate);
                    int             k         = dailys.Length - 1;
                    GMDaily         gmDaily   = (GMDaily)dailys[k];

                    if (gmDaily.Close / gmDaily.LastClose > 1.095)                  //今日涨停
                    {
                        AnalysisItem ai = new AnalysisItem();
                        ai.Date   = gmDaily.DateTime;
                        ai.Symbol = inst.Symbol;
                        GMSDK.ShareIndex si = null;
                        //先读取当日股本,如果没有,则读取最近股本。一般情况下当日股本与最近股本相同,除非当天正好是除权日
                        List <GMSDK.ShareIndex> shareIndexList = provider.MdApi.GetShareIndex(ai.Symbol, dateString, dateString);
                        if (shareIndexList.Count <= 0)
                        {
                            shareIndexList = provider.MdApi.GetLastShareIndex(ai.Symbol);
                        }
                        if (shareIndexList.Count > 0)
                        {
                            si = shareIndexList[0];
                        }
                        if (si != null)
                        {
                            ai.FlowAShare = si.flow_a_share;
                        }
                        else
                        {
                            ai.FlowAShare = 0.0;
                        }

                        ai.LastClose = gmDaily.LastClose;
                        ai.Open      = gmDaily.Open;
                        ai.High      = gmDaily.High;
                        ai.Low       = gmDaily.Low;
                        ai.Close     = gmDaily.Close;
                        //换手率
                        if (ai.FlowAShare > 0)
                        {
                            ai.TurnoverRate = gmDaily.Volume / ai.FlowAShare * 100;
                        }
                        else
                        {
                            ai.TurnoverRate = 0.0;
                        }
                        //当日量与前5日均量比
                        int    m      = k - 1;
                        double sumVol = 0.0;
                        while (m >= 0 && m >= k - 5)
                        {
                            sumVol += ((Daily)dailys[m]).Volume;
                            m--;
                        }
                        double last5AvgVol = sumVol / (k - m - 1);
                        ai.VolDivLast5AvgVol = gmDaily.Volume / last5AvgVol;
                        //计算封板时间、时长等
                        bool   flag = false;
                        string name = inst.Symbol + ".Trade";
                        if (!file.Series.Contains(name))
                        {
                            continue;
                        }
                        FileSeries      series = file.Series[name];
                        ISeriesObject[] trades = series.GetArray(gmDaily.DateTime, gmDaily.DateTime.AddDays(1));
                        if (trades.Length <= 0)
                        {
                            continue;
                        }
                        GMTrade gmLastTrade = (GMTrade)trades[trades.Length - 1];                    //最后一笔交易数据
                        if (gmLastTrade.Price < gmLastTrade.UpperLimit)
                        {
                            continue;
                        }
                        GMTrade  lastGMTrade = null;
                        DateTime openTimeAM  = gmDaily.Date.Add(new TimeSpan(9, 25, 0));
                        DateTime openTimePM  = gmDaily.Date.Add(new TimeSpan(13, 0, 0));
                        foreach (ISeriesObject aTrade in trades)
                        {
                            GMTrade gmTrade = (GMTrade)aTrade;
                            if (!flag && gmTrade.Price == gmTrade.UpperLimit && gmTrade.DateTime >= openTimeAM)
                            {
                                ai.WhenUpLimit = gmTrade.DateTime - ai.Date;
                                flag           = true;
                            }
                            if (flag && gmTrade.Price < gmTrade.UpperLimit)
                            {
                                ai.UpLimitBreaked = true;
                            }
                            //将下午13:00之后的每笔时间减去90分钟,这样便于计算封涨停的时长
                            if (gmTrade.DateTime >= openTimePM)
                            {
                                gmTrade.DateTime = gmTrade.DateTime.AddMinutes(-90);
                            }
                            if (flag && lastGMTrade != null && gmTrade.Price == gmTrade.UpperLimit && lastGMTrade.Price == gmTrade.UpperLimit)
                            {
                                ai.HowLongUpLimit += gmTrade.DateTime - lastGMTrade.DateTime;
                            }
                            if (flag)
                            {
                                lastGMTrade = gmTrade;
                            }
                        }
                        //封成比
                        name = inst.Symbol + ".Quote";
                        if (!file.Series.Contains(name))
                        {
                            continue;
                        }
                        series = file.Series[name];
                        ISeriesObject[] quotes = series.GetArray(gmDaily.DateTime, gmDaily.DateTime.AddDays(1));
                        if (quotes.Length <= 0)
                        {
                            continue;
                        }
                        GMQuote gmLastQuote = (GMQuote)quotes[quotes.Length - 1];                    //最后一刻报价数据
                        ai.BidSizeDivVol = (double)gmLastQuote.BidSize / gmDaily.Volume;

                        if (k > 0)
                        {
                            GMDaily lastGMDaily = (GMDaily)dailys[k - 1];
                            if (lastGMDaily.Close / lastGMDaily.LastClose >= 1.099)
                            {
                                ai.LastUpLimited = true;
                            }
                        }
                        if (flag)
                        {
                            analysisList.Add(ai);
                        }
                    }
                }
            }catch (Exception ex) {
                throw ex;
            }finally{
                file.Close();
            }
            Console.WriteLine("今日共有{0}只涨停。", analysisList.Count);
            foreach (AnalysisItem ai in analysisList)
            {
                Console.WriteLine(@"Date:{0},Symbol:{1},昨收价:{2},昨日是否涨停:{3},开盘价:{4},
					最高价:{5},最低价:{6},收盘价:{7},涨停时间:{8},是否开板:{9},涨停时长:{10},
					成交量与昨日5日均量比:{11},收盘买一量与成交量比:{12},流通A股:{13},换手率:{14}"                    ,
                                  ai.Date, ai.Symbol, ai.LastClose, ai.LastUpLimited, ai.Open, ai.High, ai.Low, ai.Close,
                                  ai.WhenUpLimit, ai.UpLimitBreaked, ai.HowLongUpLimit, ai.VolDivLast5AvgVol, ai.BidSizeDivVol,
                                  ai.FlowAShare, ai.TurnoverRate);
            }

            MongoClient   client   = new MongoClient("mongodb://localhost:27017");
            MongoServer   server   = client.GetServer();
            MongoDatabase database = server.GetDatabase("finance");

            MongoCollection <BsonDocument> collection = database.GetCollection <BsonDocument>("UpLimitAnalysis");
            foreach (AnalysisItem ai in analysisList)
            {
                BsonElement[] eleArray = new BsonElement[2];
                eleArray[0] = new BsonElement("date", ai.Date.ToString("yyyy-MM-dd"));
                eleArray[1] = new BsonElement("symbol", ai.Symbol);
                QueryDocument query = new QueryDocument(eleArray);
                collection.Remove(query);
                BsonElement[] eleArray1 = new BsonElement[19];
                eleArray1[0]  = new BsonElement("date", ai.Date.ToString("yyyy-MM-dd"));
                eleArray1[1]  = new BsonElement("symbol", ai.Symbol);
                eleArray1[2]  = new BsonElement("flowashare", ai.FlowAShare);
                eleArray1[3]  = new BsonElement("lastclose", ai.LastClose);
                eleArray1[4]  = new BsonElement("lastuplimited", ai.LastUpLimited);
                eleArray1[5]  = new BsonElement("open", ai.Open);
                eleArray1[6]  = new BsonElement("high", ai.High);
                eleArray1[7]  = new BsonElement("low", ai.Low);
                eleArray1[8]  = new BsonElement("close", ai.Close);
                eleArray1[9]  = new BsonElement("whenuplimit", ai.WhenUpLimit.ToString());
                eleArray1[10] = new BsonElement("uplimitbreaked", ai.UpLimitBreaked);
                eleArray1[11] = new BsonElement("howlonguplimit", ai.HowLongUpLimit.ToString());
                eleArray1[12] = new BsonElement("turnoverrate", ai.TurnoverRate);
                eleArray1[13] = new BsonElement("voldivlast5avgvol", ai.VolDivLast5AvgVol);
                eleArray1[14] = new BsonElement("bidsizedivvol", ai.BidSizeDivVol);
                BsonDocument insert = new BsonDocument(eleArray1);
                collection.Insert(insert);
            }
            return(true);
        }catch (Exception ex) {
            Console.WriteLine(ex.Message);
        }
        return(false);
    }
Exemple #47
0
        static void simpleMongoDBUse()
        {
            string _connectionString = "Server=127.0.0.1";
            string _dbName           = "MyNorthwind";
            string collectionName    = "collectionName";
            //  MongoServer server =MongoServer.Create(_connectionString);
            // MongoDatabase mongoDatabase = server.GetDatabase(_dbName);
            //MongoCollection<BsonDocument> collection = mongoDatabase.GetCollection<BsonDocument>(collectionName);
            //BsonDocument dom = new BsonDocument { { "CustomerName", "niezl" }, { "Address", "cnki" }, { "Tel", "12580" } };

            MongoClient   mongoclient               = new MongoClient(_connectionString);
            MongoServer   server                    = mongoclient.GetServer();
            MongoDatabase mongoDatabase             = server.GetDatabase(_dbName);
            MongoCollection <Customer> collection   = mongoDatabase.GetCollection <Customer>(collectionName);
            List <Customer>            customerlist = new List <Customer>()
            {
                new Customer()
                {
                    CustomerName = "xiaojie", Address = "_cnki", Tel = "12306"
                },
                new Customer()
                {
                    CustomerName = "niezl", Address = "cnki", Tel = "12580"
                }
            };
            Customer customer = new Customer()
            {
                CustomerName = "niezl", Address = "cnki", Tel = "12580"
            };
            Dictionary <string, List <Customer> > dic = new Dictionary <string, List <Customer> >();

            dic.Add("Customer", customerlist);
            //BsonDocument dom = new BsonDocument(dic);
            //BsonDocument dom = customerlist.ToBsonDocument<List<Customer>>();
            IMongoUpdate newdom = Update.Set("Address", "new_cnki");
            IMongoQuery  iq     = new QueryDocument("CustomerName", "niezl");
            IMongoQuery  iqand  = Query.And(Query.GTE("Tel", "12580"), Query.Matches("CustomerName", "/^nie/"));

            try
            {
                // collection.Insert(dom);
                //consoleBsonDocument(collection.Find(iq));
                //collection.Update(iq,newdom);
                //consoleBsonDocument(collection.Find(iq));
                //collection.Remove(iq);
                //consoleBsonDocument(collection.Find(iq));

                // collection.Insert(customer);
                collection.Update(iq, newdom);
                var bsoncursor = collection.Find(iqand);
                foreach (Customer bson in bsoncursor)
                {
                    Console.WriteLine("CustomerName:" + bson.CustomerName);
                    Console.WriteLine("Address:" + bson.Address);
                    Console.WriteLine("Tel:" + bson.Tel);
                }
            }
            catch (Exception e)
            {
                server.Disconnect();
            }
            finally {
                server.Disconnect();
            }
        }
        public void setUp()
        {
            if (!Directory.Exists("resource"))
            {
                Directory.CreateDirectory("resource");
            }

            object_id1 = Guid.NewGuid();
            object_id2 = Guid.NewGuid();

            FileStream fs = File.Open("resource/" + object_id1.ToString() + ".png", FileMode.Create);

            using (StreamWriter w = new StreamWriter(fs))
            {
                w.Write("1234567890");
            }
            fs.Close();

            fs = File.Open("resource/" + object_id1.ToString() + "_medium.jpeg", FileMode.Create);
            using (StreamWriter w = new StreamWriter(fs))
            {
                w.Write("abcde");
            }
            fs.Close();

            MongoDatabase db = mongodb.GetDatabase("wammer");

            if (db.CollectionExists("attachments"))
            {
                db.Drop();
            }

            db.CreateCollection("attachments");

            db.GetCollection <Attachment>("attachments").Insert(new Attachment
            {
                object_id  = object_id1.ToString(),
                group_id   = "group1",
                mime_type  = "image/png",
                file_size  = 10,
                image_meta = new ImageProperty
                {
                    medium = new ThumbnailInfo
                    {
                        mime_type = "image/jpeg",
                        file_size = 5
                    }
                }
            });

            db.GetCollection <Attachment>("attachments").Insert(new Attachment
            {
                object_id  = object_id2.ToString(),
                type       = AttachmentType.image,
                image_meta = new ImageProperty
                {
                    medium = new ThumbnailInfo
                    {
                        mime_type = "image/jpeg",
                        file_size = 5
                    }
                }
            });

            DriverCollection.Instance.Save(
                new Driver
            {
                email   = "*****@*****.**",
                user_id = "driver1_id",
                folder  = "resource",
                groups  = new List <UserGroup>
                {
                    new UserGroup {
                        group_id    = "group1",
                        description = "group1 descript",
                        creator_id  = "driver1_id",
                        name        = "group1"
                    }
                }
            }
                );
        }
 public BookRepository()
 {
     _client = new MongoClient("mongodb://localhost:27017");
     _server = _client.GetServer();
     _db     = _server.GetDatabase("BookDB");
 }
        public void DoTest()
        {
            // ------------------------------
            // 步骤一.  取得一个  MongoClient  对象.
            // ------------------------------

            // mongoDB 的 mongos 运行在 192.168.253.78:30000 端口上.
            // mongoDB 的3个片 安装在 mongo01 / mongo02 / mongo03  这3台虚拟机上.

            // 因为分片对 最终客户端, 是不可见的。
            // 因此这里的 连接字符串, 仅仅包含 mongos 的地址信息.

            //string connectionString = "mongodb://192.168.253.78:30000";
            //MongoClient client = new MongoClient(connectionString);



            // 下面这种情况, 是用于多个 mongos 进程的情况.
            MongoClientSettings setting = new MongoClientSettings();

            setting.ConnectionMode = ConnectionMode.ShardRouter;

            setting.Servers = new List <MongoServerAddress>()
            {
                new MongoServerAddress("192.168.253.78", 30000),
                new MongoServerAddress("192.168.253.78", 30001)
            };

            MongoClient client = new MongoClient(setting);



            // ------------------------------
            // 步骤二.  取得一个  MongoServer  对象.
            // ------------------------------
            // Get a Reference to a Server Object
            MongoServer server = client.GetServer();



            // ------------------------------
            // 步骤三.  取得一个  MongoDatabase  对象.
            // ------------------------------
            // Get a Reference to a Database Object
            MongoDatabase database = server.GetDatabase("test"); // "test" is the name of the database



            // ------------------------------
            // 步骤四.   取得一个  MongoCollection  对象.
            // ------------------------------
            // Get a Reference to a Collection Object
            // "TestMain" is the name of the collection
            MongoCollection <TestBasic> collection = database.GetCollection <TestBasic>("TestBasic");



            // ------------------------------
            // 步骤五.   完成  插入的相关操作.
            // ------------------------------


            for (int i = 0; i < 100000; i++)
            {
                TestBasic mainData = new TestBasic()
                {
                    Name = String.Format("C# 访问 MongoDB 的例子代码 {0} : {1:yyyy-MM-dd HH:mm:ss} ", i, DateTime.Now)
                };



                // 完成插入处理.
                collection.Insert(mainData);
            }

            Console.WriteLine("数据 已插入到 MongoDB");
            Console.WriteLine("请到命令行方式下执行 db.TestBasic.find()  核对数据!");

            Console.WriteLine("请到命令行方式下执行 db.printShardingStatus()  核对数据!");



            Console.WriteLine("按回车键结束测试...");
            Console.ReadLine();
        }
 public void TestFixtureSetUp()
 {
     _client   = new MongoClient();
     _server   = _client.GetServer();
     _database = _server.GetDatabase("database");
 }
        public void update_OrderServer(List <xmlDataSources> AddMAPResult)
        {
            MongoServer     server      = MongoServer.Create(connectionString);
            MongoDatabase   db1         = server.GetDatabase(DB_NAME);
            MongoCollection collection1 = db1.GetCollection("KM_BiotechnologyXML_XmlData");
            MongoCollection <BsonDocument> employees = db1.GetCollection <BsonDocument>("KM_BiotechnologyXML_XmlData");

            //  collection1.RemoveAll();
            if (AddMAPResult == null)
            {
                MessageBox.Show("No Data  input Sever", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            foreach (xmlDataSources item in AddMAPResult)
            {
                IMongoQuery query = Query.EQ("_id", new ObjectId(item.Id));


                #region 集合
                var update = Update.Set("Rack_ID", item.Rack_ID.Trim());
                collection1.Update(query, update);

                if (item.Hole_ID == null)
                {
                    item.Hole_ID = "";
                }

                update = Update.Set("Hole_ID", item.Hole_ID);
                collection1.Update(query, update);

                if (item.Tube_ID == null)
                {
                    item.Tube_ID = "";
                }

                update = Update.Set("Tube_ID", item.Tube_ID);
                collection1.Update(query, update);

                if (item.FileName == null)
                {
                    item.FileName = "";
                }

                update = Update.Set("FileName", item.FileName);
                collection1.Update(query, update);

                if (item.Input_Date == null)
                {
                    item.Input_Date = "";
                }

                update = Update.Set("Input_Date", item.Input_Date);
                collection1.Update(query, update);

                if (item.Comments == null)
                {
                    item.Comments = "";
                }

                update = Update.Set("Comments", item.Comments);
                collection1.Update(query, update);


                if (item.OrderName == null)
                {
                    item.OrderName = "";
                }

                update = Update.Set("OrderName", item.OrderName);
                collection1.Update(query, update);

                #endregion
            }
        }
 public virtual void SetupFixture()
 {
     _server   = MongoServer.Create("mongodb://localhost");
     _database = _server.GetDatabase("test");
 }
Exemple #54
0
 public MongoContext()        //constructor
 {
     _client   = new MongoClient("mongodb://*****:*****@ds149433.mlab.com:49433/corevisesdb");
     _server   = _client.GetServer();
     _database = _server.GetDatabase("corevisesdb");
 }
Exemple #55
0
        public static void Connect()
        {
            Console.WriteLine("Mongo DB Test Application");
            Console.WriteLine("====================================================");
            Console.WriteLine("Started By:Kailash Chandra Behera");
            Console.WriteLine("Started On: 14 July 2014");
            Console.WriteLine("Configuration Setting: 172.16.1.24:27017");
            Console.WriteLine("====================================================");
            Console.WriteLine("Initializaing connection");
            string connectionString = "mongodb://localhost:27017";


            Console.WriteLine("Creating Client..........");
            MongoClient client = null;

            try
            {
                client = new MongoClient(connectionString);
                Console.WriteLine("Client Created Successfuly........");
                Console.WriteLine("Client: " + client.ToString());
            }
            catch (Exception ex)
            {
                Console.WriteLine("Filed to Create Client.......");
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine("Initianting Mongo Db Server.......");
            MongoServer server = null;

            try
            {
                Console.WriteLine("Getting Servicer object......");
                server = client.GetServer();

                Console.WriteLine("Server object created Successfully....");
                Console.WriteLine("Server :" + server.ToString());
            }
            catch (Exception ex)
            {
                Console.WriteLine("Filed to getting Server Details");
                Console.WriteLine(ex.Message);
            }


            Console.WriteLine("Initianting Mongo Databaser.........");
            MongoDatabase database = null;

            try
            {
                Console.WriteLine("Getting reference of database.......");
                database = server.GetDatabase("kara_db");
                Console.WriteLine("Database Name : " + database.Name);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed to Get reference of Database");
                Console.WriteLine("Error :" + ex.Message);
            }
            try
            {
                Console.WriteLine("Deleteing Collection Symbol");
                database.DropCollection("Symbol");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed to delete collection from Database");
                Console.WriteLine("Error :" + ex.Message);
            }

            Console.WriteLine("Getting Collections from database Database.......");


            MongoCollection symbolcollection = null;

            try
            {
                symbolcollection = database.GetCollection <Symbol>("Symbols");
                Console.WriteLine(symbolcollection.Count().ToString());
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed to Get collection from Database");
                Console.WriteLine("Error :" + ex.Message);
            }
            ObjectId id = new ObjectId();

            Console.WriteLine("Inserting document to collection............");
            try
            {
                Symbol symbol = new Symbol();
                symbol.Name = "Star";
                symbolcollection.Insert(symbol);
                id = symbol.ID;



                Console.WriteLine(symbolcollection.Count().ToString());
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed to insert into collection of Database " + database.Name);
                Console.WriteLine("Error :" + ex.Message);
            }

            try
            {
                //Console.WriteLine("Preparing Query Document............");
                //List<Symbol> query = symbolcollection.AsQueryable<Entity>().Where<Entity>(sb => sb.Name == "Kailash").ToList();

                //Symbol symbol = symbolcollection.AsQueryable<Entity>().Where<Entity>(sb => sb.ID == id).ToList();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed to query from collection");
                Console.WriteLine("Exception :" + ex.Message);
            }
        }
Exemple #56
0
    static void Main(string[] args)
    {
        // TO DO: Add your code here
        DateTime beginDate = new DateTime(2017, 3, 24);
        DateTime endDate   = new DateTime(2017, 3, 25);

        MongoClient   client   = new MongoClient("mongodb://localhost:27017");
        MongoServer   server   = client.GetServer();
        MongoDatabase database = server.GetDatabase("finance");

        string username = "******";
        string password = "******";

        int ret = _md.Init(username, password, GMSDK.MDMode.MD_MODE_NULL, "", "", "");

        if (ret != 0)
        {
            string msg = _md.StrError(ret);
            Console.WriteLine(msg);
            return;
        }

        DateTime curDate = beginDate;
        //获取交易日历,以确定是否开市日
        string dateString1 = "";

        if (endDate.AddMonths(-1) > beginDate)
        {
            dateString1 = beginDate.ToString("yyyy-MM-dd");
        }
        else
        {
            dateString1 = endDate.AddMonths(-1).ToString("yyyy-MM-dd");
        }
        string          dateString2 = endDate.AddDays(1).ToString("yyyy-MM-dd");
        List <DateTime> tradeDates  = GetTradeDates("SHSE", dateString1, dateString2);

        while (curDate < endDate)
        {
            Console.WriteLine("日期:" + curDate.ToString("yyyy-MM-dd"));
            if ((tradeDates.Count <= 0) || (!tradeDates.Contains(curDate)))
            {
                Console.WriteLine("今天不是交易日");
                curDate = curDate.AddDays(1);
                continue;
            }
            string monthString = curDate.ToString("yyyy-MM");
            //区域统计数据准备
            MongoCollection <BsonDocument>      collection = database.GetCollection <BsonDocument>("Areas." + monthString);
            Dictionary <string, List <string> > areaDict   = new Dictionary <string, List <string> >();
            foreach (BsonDocument document in collection.FindAll())
            {
                List <string> ls = null;
                if (!areaDict.TryGetValue((string)document["code"], out ls))
                {
                    ls = new List <string>();
                    areaDict.Add((string)document["code"], ls);
                }
                if (!(document["area"] is BsonNull))
                {
                    ls.Add((string)document["area"]);
                }
            }
            Dictionary <string, StatisItem> areaUpLimitStatis = new Dictionary <string, StatisItem>();

            //行业统计数据准备
            collection = database.GetCollection <BsonDocument>("Industries." + monthString);
            Dictionary <string, List <string> > industryDict = new Dictionary <string, List <string> >();
            foreach (BsonDocument document in collection.FindAll())
            {
                List <string> ls = null;
                if (!industryDict.TryGetValue((string)document["code"], out ls))
                {
                    ls = new List <string>();
                    industryDict.Add((string)document["code"], ls);
                }
                if (!(document["c_name"] is BsonNull))
                {
                    ls.Add((string)document["c_name"]);
                }
            }
            Dictionary <string, StatisItem> industryUpLimitStatis = new Dictionary <string, StatisItem>();

            //概念统计数据准备
            collection = database.GetCollection <BsonDocument>("Concepts." + monthString);
            Dictionary <string, List <string> > conceptDict = new Dictionary <string, List <string> >();
            foreach (BsonDocument document in collection.FindAll())
            {
                List <string> ls = null;
                if (!conceptDict.TryGetValue((string)document["code"], out ls))
                {
                    ls = new List <string>();
                    conceptDict.Add((string)document["code"], ls);
                }
                if (!(document["c_name"] is BsonNull))
                {
                    ls.Add((string)document["c_name"]);
                }
            }
            Dictionary <string, StatisItem> conceptUpLimitStatis = new Dictionary <string, StatisItem>();

            //找出日线当天接近涨停股
            List <Instrument> toUpLimit = new List <Instrument>();
            foreach (Instrument instrument in InstrumentManager.Instruments)
            {
                if (instrument.SecurityType == "CS" && instrument.SecurityDesc.IndexOf('B') < 0)
                {
                    DailySeries series = instrument.GetDailySeries(curDate.AddMonths(-3), curDate);
                    //下面这里要求日线数大于20,是为了排除新股
                    if (series.Count > 20)
                    {
                        GMDaily gmDaily = (GMDaily)series[series.Count - 1];                    //最近一天的日线
                        if (gmDaily.Date != curDate)
                        {
                            continue;
                        }
                        //下面是对于st,*st的,因为名字判断不准确,故去掉
                        //if ((instrument.SecurityDesc.IndexOf("ST")>=0||instrument.SecurityDesc.IndexOf('S')>=0)
                        //&&(gmDaily.Close/gmDaily.LastClose>1.044)){
                        //	toUpLimit.Add(instrument);
                        //}
                        //下面是对于普通股
                        if (gmDaily.Close / gmDaily.LastClose > 1.094)
                        {
                            toUpLimit.Add(instrument);
                        }
                    }
                }
            }
            //读出Trade数据,确定是否真的涨停及涨停时间,交统计数据
            string dataPath = "e:/QDData";
            string path     = dataPath + "/" + curDate.Year.ToString() + "/" + curDate.Month.ToString();
            if (!Directory.Exists(path))
            {
                Console.WriteLine("Trade数据目录不存在!");
                return;
            }
            try {
                DataFile file = DataFile.Open(path);
                try {
                    foreach (Instrument instrument in toUpLimit)
                    {
                        string name = instrument.Symbol + ".Trade";
                        if (!file.Series.Contains(name))
                        {
                            throw new Exception(instrument.Symbol + "的Trade数据不存在,请补充完整。");
                        }
                        FileSeries      series = file.Series[name];
                        ISeriesObject[] trades = series.GetArray(curDate, curDate.AddDays(1));
                        if (trades.Length <= 0)
                        {
                            continue;
                        }
                        GMTrade gmLastTrade = (GMTrade)trades[trades.Length - 1];                    //最后一笔交易数据
                        if (gmLastTrade.Price < gmLastTrade.UpperLimit)
                        {
                            continue;
                        }
                        foreach (ISeriesObject aTrade in trades)
                        {
                            GMTrade gmTrade = (GMTrade)aTrade;
                            if (gmTrade.Price == gmTrade.UpperLimit && gmTrade.DateTime >= curDate.Add(new TimeSpan(9, 25, 0)))
                            {
                                Console.WriteLine(instrument.Symbol + instrument.SecurityDesc + "在" + gmTrade.DateTime + "时涨停");
                                //区域统计
                                if (areaDict.ContainsKey(instrument.SecurityID))
                                {
                                    List <string> areaList = areaDict[instrument.SecurityID];
                                    foreach (string area in areaList)
                                    {
                                        StatisItem si = null;
                                        if (!areaUpLimitStatis.TryGetValue(area, out si))
                                        {
                                            si = new StatisItem();
                                            areaUpLimitStatis.Add(area, si);
                                        }
                                        si.AddSymbol(instrument.Symbol, gmTrade.DateTime);
                                    }
                                }
                                //行业统计
                                if (industryDict.ContainsKey(instrument.SecurityID))
                                {
                                    List <string> industryList = industryDict[instrument.SecurityID];
                                    foreach (string industry in industryList)
                                    {
                                        StatisItem si = null;
                                        if (!industryUpLimitStatis.TryGetValue(industry, out si))
                                        {
                                            si = new StatisItem();
                                            industryUpLimitStatis.Add(industry, si);
                                        }
                                        si.AddSymbol(instrument.Symbol, gmTrade.DateTime);
                                    }
                                }
                                //概念统计
                                if (conceptDict.ContainsKey(instrument.SecurityID))
                                {
                                    List <string> conceptList = conceptDict[instrument.SecurityID];
                                    foreach (string concept in conceptList)
                                    {
                                        StatisItem si = null;
                                        if (!conceptUpLimitStatis.TryGetValue(concept, out si))
                                        {
                                            si = new StatisItem();
                                            conceptUpLimitStatis.Add(concept, si);
                                        }
                                        si.AddSymbol(instrument.Symbol, gmTrade.DateTime);
                                    }
                                }
                                break;
                            }
                        }
                    }
                }catch (Exception ex) {
                    throw ex;
                }
                finally{
                    file.Close();
                }
                //区域统计写入数据库
                MongoCollection <BsonDocument> collection1 = database.GetCollection <BsonDocument>("AreasUpLimitStatis");
                BsonElement[] eleArray = new BsonElement[1];
                eleArray[0] = new BsonElement("date", curDate.ToString("yyyy-MM-dd"));
                QueryDocument query = new QueryDocument(eleArray);
                collection1.Remove(query);
                foreach (KeyValuePair <string, StatisItem> kvp in areaUpLimitStatis)
                {
                    BsonElement[] eleArray1 = new BsonElement[4];
                    eleArray1[0] = new BsonElement("date", curDate.ToString("yyyy-MM-dd"));
                    eleArray1[1] = new BsonElement("area", kvp.Key);
                    eleArray1[2] = new BsonElement("count", kvp.Value.Count);

                    BsonArray bsonArray = new BsonArray(kvp.Value.Count);
                    foreach (KeyValuePair <string, DateTime> kvp1 in kvp.Value.Securities)
                    {
                        bsonArray.Add(new BsonDocument(new BsonElement[2] {
                            new BsonElement("symbol", kvp1.Key),
                            new BsonElement("time", kvp1.Value.ToString("yyyy-MM-dd HH:mm:ss"))
                        }));
                    }
                    eleArray1[3] = new BsonElement("securities", bsonArray);
                    BsonDocument insert = new BsonDocument(eleArray1);
                    collection1.Insert(insert);
                }

                //行业统计写入数据库
                MongoCollection <BsonDocument> collection2 = database.GetCollection <BsonDocument>("IndustriesUpLimitStatis");
                collection2.Remove(query);
                foreach (KeyValuePair <string, StatisItem> kvp in industryUpLimitStatis)
                {
                    BsonElement[] eleArray1 = new BsonElement[4];
                    eleArray1[0] = new BsonElement("date", curDate.ToString("yyyy-MM-dd"));
                    eleArray1[1] = new BsonElement("industry", kvp.Key);
                    eleArray1[2] = new BsonElement("count", kvp.Value.Count);

                    BsonArray bsonArray = new BsonArray(kvp.Value.Count);
                    foreach (KeyValuePair <string, DateTime> kvp1 in kvp.Value.Securities)
                    {
                        bsonArray.Add(new BsonDocument(new BsonElement[2] {
                            new BsonElement("symbol", kvp1.Key),
                            new BsonElement("time", kvp1.Value.ToString("yyyy-MM-dd HH:mm:ss"))
                        }));
                    }
                    eleArray1[3] = new BsonElement("securities", bsonArray);
                    BsonDocument insert = new BsonDocument(eleArray1);
                    collection2.Insert(insert);
                }
                //概念统计写入数据库
                MongoCollection <BsonDocument> collection3 = database.GetCollection <BsonDocument>("ConceptsUpLimitStatis");
                collection3.Remove(query);
                foreach (KeyValuePair <string, StatisItem> kvp in conceptUpLimitStatis)
                {
                    BsonElement[] eleArray1 = new BsonElement[4];
                    eleArray1[0] = new BsonElement("date", curDate.ToString("yyyy-MM-dd"));
                    eleArray1[1] = new BsonElement("concept", kvp.Key);
                    eleArray1[2] = new BsonElement("count", kvp.Value.Count);

                    BsonArray bsonArray = new BsonArray(kvp.Value.Count);
                    foreach (KeyValuePair <string, DateTime> kvp1 in kvp.Value.Securities)
                    {
                        bsonArray.Add(new BsonDocument(new BsonElement[2] {
                            new BsonElement("symbol", kvp1.Key),
                            new BsonElement("time", kvp1.Value.ToString("yyyy-MM-dd HH:mm:ss"))
                        }));
                    }
                    eleArray1[3] = new BsonElement("securities", bsonArray);
                    BsonDocument insert = new BsonDocument(eleArray1);
                    collection3.Insert(insert);
                }
            }catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
            curDate = curDate.AddDays(1);
        }
    }
Exemple #57
0
 public IMongoDatabase GetDatabase(MongoDatabaseSettings databaseSettings)
 {
     return(new MongoDatabaseProxy(_mongoServer.GetDatabase(databaseSettings)));
 }
Exemple #58
0
        public Repository()
        {
            var           connectionString = ConfigurationManager.ConnectionStrings["MongoDb"].ConnectionString;
            MongoClient   client           = new MongoClient(connectionString);
            MongoServer   server           = client.GetServer();
            MongoDatabase database         = server.GetDatabase(ConfigurationManager.AppSettings["Database"]);

            seedCollection = database.GetCollection <Seed>("seed");
            seedCollection.CreateIndex(IndexKeys <Seed> .Ascending(_ => _.ImageHash));

            memeCollection = database.GetCollection <Meme>("meme");

            userCollection = database.GetCollection <User>("user");

            userCommentCollection = database.GetCollection <UserComment>("userComment");

            reportCollection = database.GetCollection <Report>("reported");

            userCredentialCollection = database.GetCollection <Credentials>("userCredential");

            imageCollection = database.GetCollection <Image>("image");

            timeLineCollection = database.GetCollection <TimeLine>("timeLine");

            hashTagCollection = database.GetCollection <HashTag>("hashtag");

            hashTagMemeCollection = database.GetCollection <HashTagMeme>("hashtagMeme");

            mailCollection = database.GetCollection <Mail>("mail");

            if (!BsonClassMap.IsClassMapRegistered(typeof(List <IComment>)))
            {
                BsonClassMap.RegisterClassMap <List <IComment> >();
            }
            if (!BsonClassMap.IsClassMapRegistered(typeof(Comment)))
            {
                BsonClassMap.RegisterClassMap <Comment>();
            }
            if (!BsonClassMap.IsClassMapRegistered(typeof(PositionRef)))
            {
                BsonClassMap.RegisterClassMap <PositionRef>();
            }
            if (!BsonClassMap.IsClassMapRegistered(typeof(List <IReply>)))
            {
                BsonClassMap.RegisterClassMap <List <IReply> >();
            }
            if (!BsonClassMap.IsClassMapRegistered(typeof(Reply)))
            {
                BsonClassMap.RegisterClassMap <Reply>();
            }
            if (!BsonClassMap.IsClassMapRegistered(typeof(Report)))
            {
                BsonClassMap.RegisterClassMap <Report>();
            }
            if (!BsonClassMap.IsClassMapRegistered(typeof(UserLite)))
            {
                BsonClassMap.RegisterClassMap <UserLite>();
            }
            if (!BsonClassMap.IsClassMapRegistered(typeof(Image)))
            {
                BsonClassMap.RegisterClassMap <Image>();
            }
            if (!BsonClassMap.IsClassMapRegistered(typeof(TimeLine)))
            {
                BsonClassMap.RegisterClassMap <TimeLine>();
            }
            if (!BsonClassMap.IsClassMapRegistered(typeof(HashTag)))
            {
                BsonClassMap.RegisterClassMap <HashTag>();
            }
            if (!BsonClassMap.IsClassMapRegistered(typeof(Mail)))
            {
                BsonClassMap.RegisterClassMap <Mail>();
            }

            // Create index on hash tag in hashtag meme
            hashTagMemeCollection.CreateIndex(IndexKeys <HashTagMeme> .Ascending(_ => _.HashTag));
        }
Exemple #59
0
        public virtual void AddImportHouse(IEnumerable <ImportedHouse> houseList, int siteId, int userId, string id_Prefix, string siteUserName)
        {
            MongoServer   houseCaijiMongoDbServer = GetMongoClient(connectionName);
            MongoDatabase houseDb      = houseCaijiMongoDbServer.GetDatabase(databaseName);
            string        dbCollection = "ImportHouse";
            MongoCollection <BsonDocument> houseCollection = houseDb.GetCollection(dbCollection);



            var query  = Query.EQ("RefUser.UserID", userId);
            var update = Update.Pull("RefUser", Query.EQ("UserID", userId));

            houseCollection.Update(query, update, UpdateFlags.Multi);

            foreach (ImportedHouse item in houseList)
            {
                string houseId = item.HouseID;
                item.MoveStatus   = 0;
                item.HouseID      = id_Prefix + "_" + item.HouseID;
                item.SiteUserName = siteUserName;
                item.SiteId       = siteId;
                if (item.houseInfo != null)
                {
                    item.BuildType = 1;
                }
                else if (item.villaInfo != null)
                {
                    item.BuildType = 2;
                }
                else if (item.shopInfo != null)
                {
                    item.BuildType = 3;
                }
                else if (item.officeInfo != null)
                {
                    item.BuildType = 4;
                }
                else if (item.factoryInfo != null)
                {
                    item.BuildType = 5;
                }
                ImportedHouse oldHouse = houseCollection.FindOneAs <ImportedHouse>(Query.EQ("_id", item.HouseID));
                if (oldHouse != null)
                {
                    int moveHouseId = 0;
                    int moveStatus  = 0;
                    if (oldHouse.RefUser == null)
                    {
                        item.RefUser = new List <ImportedHouseRefUser>();
                    }
                    else
                    {
                        item.RefUser = oldHouse.RefUser;
                    }
                    ImportedHouseRefUser thisRefUser = item.RefUser.Where(u => u.UserID == userId).FirstOrDefault();
                    if (thisRefUser != null)
                    {
                        moveHouseId = thisRefUser.MoveHouseId;
                        moveStatus  = thisRefUser.MoveStatus;
                    }
                    else if (oldHouse.UserID == userId)
                    {
                        moveHouseId = oldHouse.MoveHouseId;
                        moveStatus  = oldHouse.MoveStatus;
                    }
                    //oldHouse.MoveStatus = 0;
                    // oldHouse.UserID = 0;
                    // oldHouse.MoveHouseId = 0;
                    // oldHouse.RefUser = null;
                    //string oldStr = ZJB.Core.Utilities.StringUtility.ToMd5String(jss.Serialize(oldHouse));
                    // string newStr = ZJB.Core.Utilities.StringUtility.ToMd5String(jss.Serialize(item));
                    //if (oldStr != newStr)
                    //{
                    if (thisRefUser != null)
                    {
                        thisRefUser.MoveStatus  = moveStatus;
                        thisRefUser.MoveHouseId = moveHouseId;
                    }
                    else
                    {
                        thisRefUser = new ImportedHouseRefUser()
                        {
                            UserID      = userId,
                            MoveStatus  = moveStatus,
                            MoveHouseId = moveHouseId
                        };
                        item.RefUser.Add(thisRefUser);
                    }
                    houseCollection.Save(item);
                    //  }
                }
                else
                {
                    List <ImportedHouseRefUser> refUserList = new List <ImportedHouseRefUser>();
                    refUserList.Add(new ImportedHouseRefUser()
                    {
                        MoveHouseId = 0,
                        UserID      = userId,
                        MoveStatus  = 0
                    });
                    item.RefUser = refUserList;
                    houseCollection.Save(item);
                }
            }
        }
Exemple #60
0
 public MongoDBHelper(string databaseName)
 {
     server            = new MongoClient(setting).GetServer();
     this.databaseName = databaseName;
     database          = server.GetDatabase(databaseName);
 }