Beispiel #1
0
        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);
        }