private void addButton_Click(object sender, RoutedEventArgs e)
        {
            DataScriptMapDAL.delAll(FID);

            DataScriptRuleDAL.updateBusinessPK(FID, columnConnection.BusinessPK);

            foreach (var key in columnConnection.ColumnMap.Keys)
            {
                DataScriptMap map = new DataScriptMap();
                map.FID = Guid.NewGuid().ToString().Replace("-", "");
                map.MdsImpDataScriptRuleID = FID;
                map.TableColName           = key;
                map.FileColName            = columnConnection.ColumnMap[key];
                map.TransferType           = "02";
                map.LastUpdateIp           = "127.0.0.1";
                map.LastUpdatedBy          = MainWindow.UserID;
                map.CreatedBy = MainWindow.UserID;

                // 如果有算式,保存
                if (columnConnection.ScriptMap.ContainsKey(key))
                {
                    map.TransferScript = columnConnection.ScriptMap[key];
                }

                DataScriptMapDAL.Insert(map);
            }

            MessageBox.Show("对应关系已经保存!");

            MainWindow window = App.Current.MainWindow as MainWindow;

            window.StartPage(new DataScriptList());
        }
Beispiel #2
0
        private void delButton_Click(object sender, RoutedEventArgs e)
        {
            string error = "";

            foreach (DataScript item in dataGrid.SelectedItems)
            {
                if (item.CreatedBy != MainWindow.UserID)
                {
                    error += string.Format("解析器[{0}],是别人创建的,无法删除\r\n", item.DisplayName);
                    continue;
                }
                if (item.Release == "02")
                {
                    error += string.Format("解析器[{0}],已发布,无法删除\r\n", item.DisplayName);
                    continue;
                }

                List <string> allMaps    = DataScriptDAL.getMapColName(item.TableName);
                var           currMaps   = DataScriptMapDAL.getList(item.FID);
                var           struceures = TableDAL.getTableStructure(item.TableName);

                foreach (var cm in currMaps)
                {
                    if (allMaps.Count(it => it == cm.TableColName) > 1)
                    {
                        // 多个并用
                        continue;
                    }
                    var s = struceures.FirstOrDefault(it => it.ColumnName == cm.TableColName);
                    if (s != null && s.IsKey)
                    {
                        // 主键不能删
                        continue;
                    }
                    TableDAL.dropColumn(item.TableName, cm.TableColName);
                }

                DataScriptDAL.Delete(item.FID);
                DataScriptRuleDAL.Delete(item.FID);
                DataScriptMapDAL.delAll(item.FID);
            }

            if (!string.IsNullOrEmpty(error))
            {
                MessageBox.Show(error);
            }

            dataGrid.DataContext = DataScriptDAL.getList();
        }
        private void btnNext_Click(object sender, RoutedEventArgs e)
        {
            ImportRun mapModify = new ImportRun();

            mapModify.DataScript     = this.DataScript;
            mapModify.DataScriptRule = this.DataScriptRule;
            mapModify.ColumnMap      = columnConnection.ColumnMap;
            mapModify.ScriptMap      = columnConnection.ScriptMap;
            mapModify.sourceFile     = sourceFile;
            mapModify.DataScriptRule.DesBusinessPk = columnConnection.BusinessPK;

            if (!mapModify.ColumnMap.ContainsKey("COLUMN0"))
            {
                MessageBox.Show("您需要指定时间列的关联关系,才可以导入数据!");
                return;
            }

            foreach (string key in mapModify.ScriptMap.Keys)
            {
                string script = mapModify.ScriptMap[key].Trim();
                if (!string.IsNullOrEmpty(script))
                {
                    DataScriptMapDAL.SaveScriptFile(key, script);
                }
            }

            // 保存对应关系
            if (DataScriptInfo.saveScript || true)
            {
                DataScriptMapDAL.delAll(FID);

                DataScriptRuleDAL.updateBusinessPK(FID, columnConnection.BusinessPK);

                foreach (var key in columnConnection.ColumnMap.Keys)
                {
                    DataScriptMap map = new DataScriptMap();
                    map.FID = Guid.NewGuid().ToString().Replace("-", "");
                    map.MdsImpDataScriptRuleID = FID;
                    map.TableColName           = key;
                    map.FileColName            = columnConnection.ColumnMap[key];
                    map.TransferType           = "02";
                    map.CreatedBy     = MainWindow.UserID;
                    map.LastUpdatedBy = MainWindow.UserID;
                    map.LastUpdateIp  = "127.0.0.1";

                    // 如果有算式,保存
                    if (columnConnection.ScriptMap.ContainsKey(key))
                    {
                        map.TransferScript = columnConnection.ScriptMap[key];
                    }

                    DataScriptMapDAL.Insert(map);
                }
                //MessageBox.Show("对应关系已经保存!");
            }

            ImportStack.Push(this);

            MainWindow window = App.Current.MainWindow as MainWindow;

            window.StartPage(mapModify);
        }