/// <summary> /// Constructor with DI. /// </summary> /// <param name="options">Options source</param> /// <param name="performer">Request performer.</param> /// <param name="logger">Logger implementation.</param> public MainMenu( IRequestPerformer performer, IOptionsSource options, ILogger logger) { throw new NotImplementedException(); }
/// <summary> /// Constructor with DI. /// </summary> /// <param name="options">Options source</param> /// <param name="performer">Request performer.</param> /// <param name="logger">Logger implementation.</param> public MainMenu( IRequestPerformer performer, IOptionsSource options, ILogger logger) { _performer = performer; _optionsSource = options; _logger = logger; }
public MainMenu( IRequestPerformer performer, IOptionsSource options, ILogger logger) { this.performer = performer; this.options = options; this.logger = logger; }
private void doPerform(Request request, FinishCallback callback) { IRequestPerformer worker = PerformerFactory.Build(); logger.Log(() => request.ToCompleteString()); worker.Perform(request, response => { logger.Log(() => response.ToCompleteString()); callback(response); }); }
/// <summary> /// Constructor with DI. /// </summary> /// <param name="options">Options source</param> /// <param name="performer">Request performer.</param> /// <param name="logger">Logger implementation.</param> public MainMenu( IRequestPerformer performer, IOptionsSource options, ILogger logger) { this.performer = performer; this.options = options; this.logger = logger; logger.Log("Initialisated MainMenu"); }
public void PutRequest(IRequest request) { string requestGuid = Guid.NewGuid().ToString(); try { LogRequest(request, requestGuid); RequestContext context = new RequestContext(request.Uri); IRequestPerformer requestPerformer = null; RequestPerformerLocator requestPerformerLocator = RequestReceiver.NorthwindAdapter.RequestPerformerLocator; if (!String.IsNullOrEmpty(context.ErrorMessage)) { throw new ApplicationException(context.ErrorMessage); } switch (context.RequestType) { case RequestType.Resource: requestPerformer = requestPerformerLocator.Resolve <PutResourceRequestPerformer>(context); break; case RequestType.Linked: requestPerformer = requestPerformerLocator.Resolve <PutLinkingRequestPerformer>(context); break; } if (null != requestPerformer) { requestPerformer.DoWork(request); } else { throw new RequestException("The request is not supported."); } LogResponse(request, requestGuid); } catch (Exception e) { LogException(e, requestGuid); throw; } }
public void GetRequest(IRequest request) { string requestGuid = Guid.NewGuid().ToString(); try { LogRequest(request, requestGuid); RequestContext context; IRequestPerformer requestPerformer = null; RequestPerformerLocator requestPerformerLocator; requestPerformerLocator = RequestReceiver.NorthwindAdapter.RequestPerformerLocator; context = new RequestContext(request.Uri); if (!String.IsNullOrEmpty(context.ErrorMessage)) { throw new ApplicationException(context.ErrorMessage); } switch (context.RequestType) { case RequestType.Resource: requestPerformer = requestPerformerLocator.Resolve <GetResourceRequestPerformer>(context); break; case RequestType.SyncDigest: requestPerformer = requestPerformerLocator.Resolve <GetSyncDigestRequestPerformer>(context); break; case RequestType.SyncSource: requestPerformer = requestPerformerLocator.Resolve <GetSyncSourceRequestPerformer>(context); break; case RequestType.SyncTarget: requestPerformer = requestPerformerLocator.Resolve <GetSyncTargetRequestPerformer>(context); break; case RequestType.ResourceCollectionSchema: requestPerformer = requestPerformerLocator.Resolve <GetSchemaRequestPerformer>(context); break; case RequestType.ResourceSchema: requestPerformer = requestPerformerLocator.Resolve <GetResourceSchemaRequestPerformer>(context); break; case RequestType.ImportSchema: requestPerformer = requestPerformerLocator.Resolve <GetSchemaImportRequestPerformer>(context); break; case RequestType.Contract: requestPerformer = requestPerformerLocator.Resolve <GetContractRequestPerformer>(context); break; case RequestType.Dataset: requestPerformer = requestPerformerLocator.Resolve <GetDatasetRequestPerformer>(context); break; case RequestType.ResourceCollection: requestPerformer = requestPerformerLocator.Resolve <GetResourceCollectionRequestPerformer>(context); break; case RequestType.Linked: requestPerformer = requestPerformerLocator.Resolve <GetLinkingRequestPerformer>(context); break; case RequestType.ServiceSchema: requestPerformer = requestPerformerLocator.Resolve <GetServiceSchemaRequestPerformer>(context); break; } if (null != requestPerformer) { requestPerformer.DoWork(request); } else { throw new RequestException("The request is not supported."); } LogResponse(request, requestGuid); } catch (Exception e) { LogException(e, requestGuid); throw; } }
public void DeleteRequest(IRequest request) { string requestGuid = Guid.NewGuid().ToString(); try { LogRequest(request, requestGuid); RequestPerformerLocator requestPerformerLocator = RequestReceiver.NorthwindAdapter.RequestPerformerLocator;; IRequestPerformer requestPerformer = null; RequestContext context = new RequestContext(request.Uri); switch (context.RequestType) { case RequestType.Resource: requestPerformer = requestPerformerLocator.Resolve <DeleteResourceRequestPerformer>(context); if (null != requestPerformer) { requestPerformer.DoWork(request); } else { throw new RequestException("The request is not supported."); } break; case RequestType.SyncSource: case RequestType.SyncTarget: requestPerformerLocator = RequestReceiver.NorthwindAdapter.RequestPerformerLocator; Exception error; if (requestPerformerLocator.Delete(context, out error)) { request.Response.StatusCode = System.Net.HttpStatusCode.OK; } else { if (error == null) { request.Response.StatusCode = System.Net.HttpStatusCode.NotFound; } else { throw error; } } break; case RequestType.Linked: requestPerformer = requestPerformerLocator.Resolve <DeleteLinkingRequestPerformer>(context); if (null == requestPerformer) { throw new RequestException("The request is not supported."); } requestPerformer.DoWork(request); break; default: throw new NotSupportedException("This Request was not supported"); } LogResponse(request, requestGuid); } catch (Exception e) { LogException(e, requestGuid); throw; } }
public ClientAppEmulator(IRequestPerformer performer) { _performer = performer; _sessionId = Guid.NewGuid().ToString(); }