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 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); }
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); * } */ } }