/// <summary> /// /// </summary> /// <param name="srcHandler"></param> /// <param name="targetHandler"></param> /// <param name="tableName">TableName is the file name</param> private void PreProcessCSV(CoreEA.ICoreEAHander srcHandler, CoreEA.ICoreEAHander targetHandler, string tableName) { try { BaseTableSchema tableSchmea = srcHandler.GetTableSchemaInfoObject(tableName); if (tableName.Contains(" ")) { tableName = tableName.Replace(" ", ""); } using (StreamWriter sw = File.CreateText(targetHandler.CurDatabase.Append(tableName + ".csv"))) { //Create Column Header StringBuilder sb = new StringBuilder(); tableSchmea.Columns.ForEach((column) => { sb.Append(column.ColumnName); sb.Append(CultureInfo.CurrentCulture.TextInfo.ListSeparator); }); sw.WriteLine(sb.ToString()); //Create Data DataTable dt = srcHandler.GetAllDataFromTable(tableName); foreach (DataRow row in dt.Rows) { StringBuilder builder = new StringBuilder(); foreach (var column in tableSchmea.Columns) { builder.Append(row[column.ColumnName]); builder.Append(CultureInfo.CurrentCulture.TextInfo.ListSeparator); } sw.WriteLine(builder.ToString()); } } } catch (Exception accessEx) { accessEx.HandleMyException(); return; } finally { butNext.Content = "End"; butNext.IsEnabled = false; } }
private void butSync_Click(object sender, RoutedEventArgs e) { string server = txtServername.Text; string targetDb = this.txtDbName.Text; string username = this.txtUsername.Text; string pwd = passwordBox1.Password; bool isTrustedConn = (bool)chkIsTrustedConn.IsChecked; bool isSql05Express = (bool)chkIsSql05Expresss.IsChecked; if (string.IsNullOrEmpty(server) || string.IsNullOrEmpty(targetDb) || string.IsNullOrEmpty(username)) { "ImportEachElement".GetFromResourece().Notify(); return; } ICoreEAHander targetCore = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.SqlServer).X_Handler; LoginInfo_SqlServer info = new LoginInfo_SqlServer() { X_Server = server, X_Database = targetDb, X_UserName = username, X_Pwd = pwd , IsTrustedConn = (bool)chkIsTrustedConn.IsChecked }; if (isSql05Express) { info.X_CurDbConnectionMode = CurDbServerConnMode.SqlServer2005Express; } try { targetCore.Open(info); SqlBulkCopy cp = new SqlBulkCopy((SqlConnection)targetCore.GetConnection()); foreach (string item in tableList) { if (targetCore.GetTableListInDatabase(targetDb).Contains(item)) { cp.DestinationTableName = item; DataRowCollection coll = srcCore.GetAllDataFromTable(item).Rows; DataRow[] rows = new DataRow[coll.Count]; int i = 0; foreach (DataRow subRow in coll) { rows[i] = subRow; } cp.WriteToServer(rows); "Complete".Notify(); } else { //Create New Table and do . } } } catch (Exception ee) { ee.HandleMyException(); } }
/// <summary> /// Process CSV Type /// All args are checked external /// So here is no need to do again /// </summary> /// <param name="srcHandler"></param> /// <param name="targetHandler"></param> /// <param name="tableList"></param> private void PreProcessCSV(CoreEA.ICoreEAHander srcHandler, CoreEA.ICoreEAHander targetHandler, List <string> tableList) { List <SyncResultArgs> result = new List <SyncResultArgs>(); tableList.ForEach((tableName) => { SyncResultArgs curStatus = new SyncResultArgs(); try { BaseTableSchema tableSchmea = srcHandler.GetTableSchemaInfoObject(tableName); if (tableName.Contains(" ")) { tableName = tableName.Replace(" ", ""); } using (StreamWriter sw = File.CreateText(targetHandler.CurDatabase.Append(tableName + ".csv"))) { //Create Column Header StringBuilder sb = new StringBuilder(); tableSchmea.Columns.ForEach((column) => { sb.Append(column.ColumnName); sb.Append(CultureInfo.CurrentCulture.TextInfo.ListSeparator); }); sw.WriteLine(sb.ToString()); //Create Data DataTable dt = srcHandler.GetAllDataFromTable(tableName); foreach (DataRow row in dt.Rows) { StringBuilder builder = new StringBuilder(); foreach (var column in tableSchmea.Columns) { builder.Append(row[column.ColumnName]); builder.Append(CultureInfo.CurrentCulture.TextInfo.ListSeparator); } sw.WriteLine(builder.ToString()); } } curStatus.ProcessStatus = true; curStatus.TableName = tableName; } catch (Exception accessEx) { curStatus.LastErrorMsg = accessEx.Message; curStatus.ProcessStatus = false; curStatus.TableName = tableName; accessEx.HandleMyException(); return; } finally { result.Add(curStatus); butNext.Content = "End"; butNext.IsEnabled = false; } }); if ("DataTransfer_ConfirmViewReport".GetFromResourece().Confirm()) { ShowSyncResult rShow = new ShowSyncResult(result); rShow.ShowDialog(); } else { } Close(); }