Пример #1
0
        /// <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;
            }
        }
Пример #2
0
        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();
            }
        }
Пример #3
0
        /// <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();
        }