public IBatchActionProvider getProvider(IBatchUrlManager urlManager) { switch (urlManager.RequestCommand) { case BatchUrlManagerCommand.Exec: return(_actionProvider); case BatchUrlManagerCommand.Status: return(_systemProvider); default: throw new ArgumentNullException($"Command {urlManager.RequestCommand.ToString()} not found"); } }
public async Task <string> InvokeAsync(IBatchUrlManager urlManager, ContextInvoker context) { switch (urlManager.RequestCommand) { case BatchUrlManagerCommand.Status: var batchStaus = await _trakingProvider.GetStatusAsync(new Guid(context.Parameters["sessionid"].ToString())); var result = _modelSerializer.Serialize(batchStaus); return(result); default: throw new InvalidCastException($"Command {urlManager.RequestCommand.ToString()} not found"); } }
public async Task <string> InvokeAsync(IBatchUrlManager urlManager, ContextInvoker context) { try { var batchActionDescriptor = Search(urlManager.RequestBatchName, urlManager.RequestBatchAction); context.ActionDescriptor = batchActionDescriptor; if (batchActionDescriptor.IsAsync) { var response = _batchInvokerProvider.InvokeAsync(context); return("Batch Started"); } else { var response = await _batchInvokerProvider.InvokeAsync(context) as string; return(response?.ToString()); } }catch (Exception ex) { throw ex; } }