예제 #1
0
        protected override void RemoveEngineCustomizations(Engine engine, ScriptedJsonPatcherOperationScope scope)
        {
            base.RemoveEngineCustomizations(engine, scope);

            engine.Global.Delete("documentId", true);
            engine.Global.Delete("replicateTo", true);
            engine.Global.Delete("varchar", true);
            engine.Global.Delete("nVarchar", true);
            foreach (var sqlReplicationTable in config.SqlReplicationTables)
            {
                engine.Global.Delete("replicateTo" + sqlReplicationTable.TableName, true);
            }
        }
 protected override void CustomizeEngine(Engine jintEngine, ScriptedJsonPatcherOperationScope scope)
 {
     jintEngine.SetValue("documentId", docId);
     jintEngine.SetValue("replicateTo", new Action <string, object>(ReplicateToFunction));
     foreach (var sqlReplicationTable in config.SqlReplicationTables)
     {
         var current = sqlReplicationTable;
         jintEngine.SetValue("replicateTo" + sqlReplicationTable.TableName, (Action <object>)(cols =>
         {
             var tableName = current.TableName;
             ReplicateToFunction(tableName, cols);
         }));
     }
 }
예제 #3
0
        protected override void CustomizeEngine(Engine engine, ScriptedJsonPatcherOperationScope scope)
        {
            base.CustomizeEngine(engine, scope);

            engine.SetValue("documentId", docId);
            engine.SetValue("replicateTo", new Action <string, object>(ReplicateToFunction));
            foreach (var sqlReplicationTable in config.SqlReplicationTables)
            {
                var current = sqlReplicationTable;
                engine.SetValue("replicateTo" + sqlReplicationTable.TableName, (Action <object>)(cols =>
                {
                    var tableName = current.TableName;
                    ReplicateToFunction(tableName, cols);
                }));
            }

            engine.SetValue("varchar", (Func <string, double?, ValueTypeLengthTriple>)(ToVarchar));
            engine.SetValue("nVarchar", (Func <string, double?, ValueTypeLengthTriple>)(ToNVarchar));
        }
        protected override void CustomizeEngine(Engine engine, ScriptedJsonPatcherOperationScope scope)
        {
            base.CustomizeEngine(engine, scope);

            engine.Execute(string.Format(@"function ExecutePatchScript(docInner){{ return (function(doc){{ {0} }}).apply(docInner); }};", scriptedPatchRequest.Script.NormalizeLineEnding()));
        }