воскресенье, 13 мая 2018 г.

QuikTerminal, ProcessTask

Так как для QuikTerminals нет Builder, пришлось хранить IsProcessTaskInUse в QuikTransactions

<QuikTransactions>
  <Name>Quik Transactions</Name>
  <Code>Quik Transactions</Code>
  <IsEnabled>true</IsEnabled>
  <IsEvlEnabled>true</IsEvlEnabled>
  <Category>Transactions</Category>
  <Entity>Transaction</Entity>
  <!-- Need for QuikTerminal -->

  <IsProcessTaskInUse>false</IsProcessTaskInUse>

</QuikTransactions>

Достается в QuikTerminal так:

Transactions = Builder.Build<QuikTransactions>(@"Init\QuikTransactions.xml", "QuikTransactions");
Transactions.Parent = this;

IsProcessTaskInUse = Transactions.IsProcessTaskInUse;      

SetupProcessTask();


private void SetupProcessTask()
        {
            if (!IsProcessTaskInUse)
            {
                Evlm2(EvlResult.WARNING, EvlSubject.TECHNOLOGY, ParentName, Name,
                MethodBase.GetCurrentMethod().Name, "ProcessTask Will NOT BE USED",
                ToString());
                return;
            }
            
            ProcessTask = new ProcessTask<IEventArgs1>();
            ProcessTask.Init();
            ProcessTask.TimeInterval = 1000;
            ProcessTask.Parent = this;
            ProcessTask.IsEveryItemPushProcessing = true;
            ProcessTask.ItemProcessingAction = args =>
            {
                try
                {
                    args.Action(args);
                }
                catch (Exception e)
                {
                    SendException(e);
                }
            };

            Evlm2(EvlResult.INFO, EvlSubject.TECHNOLOGY, ParentName, Name,
                MethodBase.GetCurrentMethod().Name, "ProcessTask Will be Used",
                ProcessTask.ToString());
        }

Комментариев нет:

Отправить комментарий