Ejemplo n.º 1
0
        private string TriggerCommand(string triggerName, string fromTableName, MapSimpleField field)
        {
            string triggerCommand = $"CREATE TRIGGER {triggerName}{Environment.NewLine}";

            triggerCommand += $"ON {fromTableName} AFTER INSERT, UPDATE AS BEGIN{Environment.NewLine}";
            triggerCommand += field.Chain.UpdatedFields(fromTableName).Any()
                ? "IF " +
                              string.Join(" OR ",
                                          field.Chain.UpdatedFields(fromTableName)
                                          .Select(fld => $"UPDATE({fld})")
                                          .ToArray()) + " BEGIN" + Environment.NewLine
                : " BEGIN" + Environment.NewLine;
            triggerCommand += "INSERT INTO SyncDataObjectKey(primaryKey, tablename, objectkey, changetime)" + Environment.NewLine;
            triggerCommand += $"SELECT NEWID(), '{Layer}', {field.Chain.Alias}.primaryKey, GETDATE() ";
            triggerCommand +=
                $"FROM {(field.Chain.TableName == fromTableName ? "inserted" : field.Chain.FullTableName)} {field.Chain.Alias} ";
            triggerCommand += TGHelper.DataBaseHelper.FromStatement(fromTableName, field.Chain) + Environment.NewLine;
            triggerCommand += "END" + Environment.NewLine;
            triggerCommand += "END;";


            return(triggerCommand);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// </summary>
 public override string SetStatement(MapSimpleField field)
 {
     return($"SET {string.Join(", ", field.LayerObjectFields.Select(fmap => fmap.Key + " = " + field.Chain.ReplacePath(fmap.Value)).ToArray()) + Environment.NewLine}");
 }
Ejemplo n.º 3
0
 /// <summary>
 /// </summary>
 public abstract string SetStatement(MapSimpleField field);