示例#1
0
        public static void AddAllSQLTables(YellowstonePathology.Business.Mongo.TransferCollection transferCollection)
        {
            SqlCommand cmd = new SqlCommand();

            cmd.CommandText = "SELECT Table_Name, Column_Name " +
                              "FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE " +
                              "WHERE OBJECTPROPERTY(OBJECT_ID(constraint_name), 'IsPrimaryKey') = 1 " +
                              "AND table_name like 'tbl%'";
            cmd.CommandType = CommandType.Text;

            YellowstonePathology.Business.Mongo.Server server = new Business.Mongo.TestServer(Business.Mongo.TestServer.SQLTransferDatabasename);

            using (SqlConnection cn = new SqlConnection(YellowstonePathology.Business.Properties.Settings.Default.CurrentConnectionString))
            {
                cn.Open();
                cmd.Connection = cn;
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        YellowstonePathology.Business.Mongo.Transfer transfer = new Transfer();
                        transfer.ObjectId       = BsonObjectId.GenerateNewId().ToString();
                        transfer.TableName      = dr.GetString(0);
                        transfer.PrimaryKeyName = dr.GetString(1);
                        transferCollection.Add(transfer);
                    }
                }
            }
        }
        public MongoMigrationWindow()
        {
            this.m_SQLTransferServer = new Business.Mongo.TestServer(Business.Mongo.TestServer.SQLTransferDatabasename);
            this.m_TransferCollection = YellowstonePathology.Business.Mongo.Gateway.GetTransferCollection();
            this.m_DocumentCollectionTracker = new Business.Mongo.DocumentCollectionTracker(this.m_TransferCollection, this.m_SQLTransferServer);
            this.m_StatusMessage = "Idle";

            InitializeComponent();
            this.DataContext = this;
        }
        public MongoMigrationWindow()
        {
            this.m_SQLTransferServer         = new Business.Mongo.TestServer(Business.Mongo.TestServer.SQLTransferDatabasename);
            this.m_TransferCollection        = YellowstonePathology.Business.Mongo.Gateway.GetTransferCollection();
            this.m_DocumentCollectionTracker = new Business.Mongo.DocumentCollectionTracker(this.m_TransferCollection, this.m_SQLTransferServer);
            this.m_StatusMessage             = "Idle";

            InitializeComponent();
            this.DataContext = this;
        }
        public DocumentCollectionTracker(YellowstonePathology.Business.Mongo.TransferCollection collection, YellowstonePathology.Business.Mongo.Server mongoServer)
        {
            this.m_MongoServer         = mongoServer;
            this.m_DocumentTrackerList = new List <DocumentTracker>();

            foreach (INotifyPropertyChanged o in collection)
            {
                DocumentTracker documentTracker = new DocumentTracker(this.m_MongoServer);
                documentTracker.Register(o);
                this.m_DocumentTrackerList.Add(documentTracker);
            }

            collection.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(CollectionChanged);
        }
示例#5
0
        private void TranserferTables(YellowstonePathology.Business.Mongo.TransferCollection transferCollection)
        {
            foreach (YellowstonePathology.Business.Mongo.Transfer transfer in transferCollection)
            {
                MongoCollection mongoCollection = this.m_LocalServer.Database.GetCollection <BsonDocument>(transfer.TableName);
                mongoCollection.Drop();

                SqlCommand cmd = new SqlCommand();
                //cmd.CommandText = transfer.GetSQL();
                cmd.CommandType = CommandType.Text;

                using (SqlConnection cn = new SqlConnection(ConnectionString))
                {
                    cn.Open();
                    cmd.Connection = cn;
                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            /*
                             * object o = Activator.CreateInstance(transfer.Type);
                             * YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(o, dr);
                             * sqlDataReaderPropertyWriter.WriteProperties();
                             *
                             * BsonDocument document = YellowstonePathology.Business.Mongo.BSONBuilder.Build(o);
                             * mongoCollection.Insert(document);
                             * mongoCollection.Save(document);
                             */
                        }
                    }
                }

                /*
                 * foreach (string indexKey in transfer.IndexKeyList)
                 * {
                 *  mongoCollection.CreateIndex(indexKey);
                 * }
                 */
            }
        }