protected virtual void OnDataReceived(ProviderRuntimeResult runtimeResult)
        {
            var handler = DataReceived;

            if (handler != null)
            {
                handler(this, new DataProviderCompletedEventArgs(runtimeResult));
            }
        }
 public void Schedule(IDataProvider dataProvider, object inputData)
 {
     var task = new Task<object>(dataProvider.ProvideData, inputData);
     task.ContinueWith(t =>
     {
         var result = new ProviderRuntimeResult {ProviderName = dataProvider.Name};
         if (t.IsFaulted)
         {
             result.Details = t.Exception;
             result.ProviderStatus = EWorkflowProviderRuntimeStatus.Faulted;
         }
         else
         {
             result.Result = t.Result;
             result.ProviderStatus = EWorkflowProviderRuntimeStatus.Success;
         }
         OnDataReceived(result);
     });
     task.Start();
 }
        public void Schedule(IDataProvider dataProvider, object inputData)
        {
            var task = new Task <object>(dataProvider.ProvideData, inputData);

            task.ContinueWith(t =>
            {
                var result = new ProviderRuntimeResult {
                    ProviderName = dataProvider.Name
                };
                if (t.IsFaulted)
                {
                    result.Details        = t.Exception;
                    result.ProviderStatus = EWorkflowProviderRuntimeStatus.Faulted;
                }
                else
                {
                    result.Result         = t.Result;
                    result.ProviderStatus = EWorkflowProviderRuntimeStatus.Success;
                }
                OnDataReceived(result);
            });
            task.Start();
        }
 protected virtual void OnDataReceived(ProviderRuntimeResult runtimeResult)
 {
     var handler = DataReceived;
     if (handler != null)
         handler(this, new DataProviderCompletedEventArgs(runtimeResult));
 }
 public DataProviderCompletedEventArgs(ProviderRuntimeResult runtimeResult)
 {
     RuntimeResult = runtimeResult;
 }
 public DataProviderCompletedEventArgs(ProviderRuntimeResult runtimeResult)
 {
     RuntimeResult = runtimeResult;
 }