public bool RunScriptWorkItemUpdated(WorkItemEvent.WorkItemEventUpdated pInputWorkItem, TFSServicesDBLib.Rules pRule) { bool _result = false; try { if (Debug) { DBConnection.AddRunHistory(pRule, "Start run: " + pRule.Title, TypesHelper.Serialize(pInputWorkItem)); } var _scrOpt = GetOptions(); string _srcHeader = @"string ProcessEvent(WorkItemEvent.WorkItemEventUpdated InputWorkItem){"; string _srcEnd = @" } ProcessEvent(InputWorkItem)"; string _src = _srcHeader + pRule.ProcessScript + _srcEnd; _result = CSharpScript.RunAsync <bool>(_src, _scrOpt, new ScriptWiUpdatedHost { InputWorkItem = pInputWorkItem }).Result.ReturnValue; if (Debug) { DBConnection.AddRunHistory(pRule, "End run: " + pRule.Title, TypesHelper.Serialize(pInputWorkItem)); } } catch (Exception ex) { if (Debug) { DBConnection.AddRunHistory(pRule, "Validation exception for : " + pRule.Title, ex.Message + "\n\n" + ex.StackTrace); } _result = false; } return(_result); }