Exemplo n.º 1
0
        private void AddInsertScripts(SqlPack sqlPack, List <XmlElement> xmlNodes, List <string> variables = null)
        {
            var columnList = new List <string>();
            var valueList  = new List <string>();
            var excluded   = new List <string> {
                Startup, Setup, Teardown, VariableNode
            };
            var tempQueries = new List <string>();

            foreach (var xmlNode in xmlNodes.Where(x => !excluded.Contains(x.Name.ToLower())))
            {
                foreach (var childNode in xmlNode.ChildNodes)
                {
                    //Escape column names with [ColName] to avoid keyword problems
                    //columnList.Add(string.Format("[{0}]",((XmlElement) childNode).Name));
                    columnList.Add(((XmlElement)childNode).Name);
                    valueList.Add(GetFormattedValue(childNode));
                }

                tempQueries.Add(string.Format(SqlInsertTemplate, xmlNode.Name,
                                              string.Join(",", columnList), string.Join(",", valueList)));

                columnList.Clear();
                valueList.Clear();
            }

            if (tempQueries.Any())
            {
                var variableDeclarations = GetVariableDeclarations(variables);
                var joinedQuery          = string.Join("\n", tempQueries);
                sqlPack.Inserts.Add(OracleHelpers.DelimitVariableBlock(variableDeclarations, joinedQuery, DataContext.Settings));
            }
        }
Exemplo n.º 2
0
 private void AddScripts(List <string> collection, string currentSetupSql, List <string> variables = null)
 {
     if (!string.IsNullOrEmpty(currentSetupSql))
     {
         var variableDeclaration = GetVariableDeclarations(variables);
         collection.Add(OracleHelpers.DelimitVariableBlock(variableDeclaration, currentSetupSql, DataContext.Settings));
     }
 }
Exemplo n.º 3
0
        public void Dispose()
        {
            if (_sqlPack != null)
            {
                if (_sqlPack.SetupScripts != null)
                {
                    RunScriptPack(OracleHelpers.Blockify(_sqlPack.SetupScripts, DataContext.Settings));
                }

                if (_sqlPack.TearDownScripts != null)
                {
                    RunScriptPack(OracleHelpers.Blockify(_sqlPack.TearDownScripts, DataContext.Settings));
                }
            }
        }
Exemplo n.º 4
0
        private void ExecPack(SqlPack sqlPack)
        {
            var changedCount = 0;

            changedCount += RunScriptPack(OracleHelpers.Blockify(sqlPack.StartupScripts, DataContext.Settings));

            changedCount += RunScriptPack(OracleHelpers.Blockify(sqlPack.SetupScripts, DataContext.Settings));

            changedCount += DataContext.ExecBatch(OracleHelpers.Blockify(sqlPack.Inserts, DataContext.Settings));

            if (!_ignoreNoChange && changedCount == 0)
            {
                throw new ApplicationException(
                          string.Format("No records inserted. There were {0} statements issued against the DB. Paths used: {1}",
                                        sqlPack.SetupScripts.Count + sqlPack.Inserts.Count, string.Join(";", _paths)));
            }
        }