private void CheckScriptTriggerOrder(ScriptTriggerDealEventType evt, MarketOrder order) { // сформировать список скриптов для срабатывания var scriptsToFire = new List <TerminalScript>(); var scripts = ScriptManager.Instance.GetScripts().ToList(); foreach (var script in scripts.Where(s => s.Trigger != null && s.Trigger is ScriptTriggerDealEvent /*&& s.ScriptTarget != TerminalScript.TerminalScriptTarget.График*/)) { var orderScriptTrigger = (ScriptTriggerDealEvent)script.Trigger; var shouldFire = (orderScriptTrigger.eventType & evt) == evt; if (shouldFire) { orderScriptTrigger.sourceOrder = order; orderScriptTrigger.sourceEvent = evt; scriptsToFire.Add(script); } } // запустить скрипты на выполнение if (scriptsToFire.Count > 0) { ThreadPool.QueueUserWorkItem(ExecuteScriptsRoutine, scriptsToFire); } }
protected override void InitParamsFromXml(XmlElement node) { if (node.Attributes["eventType"] != null) { try { var eventTypeNum = node.Attributes["eventType"].Value.ToInt(); eventType = (ScriptTriggerDealEventType)eventTypeNum; } catch { return; } } }
private void CheckScriptTriggerOrder(ScriptTriggerDealEventType evt, MarketOrder order) { // сформировать список скриптов для срабатывания var scriptsToFire = new List<TerminalScript>(); var scripts = ScriptManager.Instance.GetScripts().ToList(); foreach (var script in scripts.Where(s => s.Trigger != null && s.Trigger is ScriptTriggerDealEvent /*&& s.ScriptTarget != TerminalScript.TerminalScriptTarget.График*/)) { var orderScriptTrigger = (ScriptTriggerDealEvent)script.Trigger; var shouldFire = (orderScriptTrigger.eventType & evt) == evt; if (shouldFire) { orderScriptTrigger.sourceOrder = order; orderScriptTrigger.sourceEvent = evt; scriptsToFire.Add(script); } } // запустить скрипты на выполнение if (scriptsToFire.Count > 0) ThreadPool.QueueUserWorkItem(ExecuteScriptsRoutine, scriptsToFire); }
protected override void InitParamsFromXml(XmlElement node) { if (node.Attributes["eventType"] != null) { try { var eventTypeNum = node.Attributes["eventType"].Value.ToInt(); eventType = (ScriptTriggerDealEventType) eventTypeNum; } catch { return; } } }