コード例 #1
0
        /// <summary>
        /// Create the delegate that will be used to executed the <see cref="IHandleRequests{TRequest,TResponse}.Handle"/>
        /// for the identified <paramref name="request"/>.
        /// </summary>
        /// <typeparam name="TRequest">The type of request.</typeparam>
        /// <typeparam name="TResponse">The type response returned from the request.</typeparam>
        /// <param name="handler">The object responsible for handling the <typeparamref name="TRequest"/>.</param>
        /// <param name="request">The request being handled.</param>
        /// <returns>The delegate that will be used to execute <see cref="IHandleRequests{TRequest,TResponse}.Handle"/>
        /// for the <paramref name="request"/>.</returns>
        public static HandleRequestsDelegate <TResponse> HandleRequest <TRequest, TResponse>
            (this IHandleRequests <TRequest, TResponse> handler, TRequest request)
            where TRequest : IAmARequest <TResponse>
        {
            Task <TResponse> HandleRequest() => handler.Handle(request);

            return(HandleRequest);
        }
コード例 #2
0
        public virtual TRequest Handle(TRequest command)
        {
            if (_successor != null)
            {
                return(_successor.Handle(command));
            }

            return(command);
        }
コード例 #3
0
        /// <summary>
        /// Handles the specified command.
        /// </summary>
        /// <param name="command">The command.</param>
        /// <returns>TRequest.</returns>
        public virtual TRequest Handle(TRequest command)
        {
            if (_successor != null)
            {
                Logger.DebugFormat("Passing request from {0} to {1}", Name, _successor.Name);
                return(_successor.Handle(command));
            }

            return(command);
        }
コード例 #4
0
 public ActionResult <MaternityBenefitsResponse> Calculate(MaternityBenefitsRequest request)
 {
     try {
         var result = _requestHandler.Handle(request);
         return(Ok(result));
     } catch (ValidationException ex) {
         _logger.LogError(ex, ex.Message);
         return(BadRequest(new { error = ex.Message }));
     }
 }
コード例 #5
0
ファイル: RequestHandler.cs プロジェクト: preardon/Brighter
        /// <summary>
        /// Handles the specified command.
        /// </summary>
        /// <param name="command">The command.</param>
        /// <returns>TRequest.</returns>
        public virtual TRequest Handle(TRequest command)
        {
            if (_successor != null)
            {
                s_logger.LogDebug("Passing request from {HandlerName} to {NextHandler}", Name, _successor.Name);
                return(_successor.Handle(command));
            }

            return(command);
        }
コード例 #6
0
        /// <summary>
        /// Handles the specified command.
        /// </summary>
        /// <param name="command">The command.</param>
        /// <returns>TRequest.</returns>
        public virtual TRequest Handle(TRequest command)
        {
            if (successor == null)
            {
                return(command);
            }

            logger.Debug(m => m("Passing request from {0} to {1}", Name, successor.Name));

            return(successor.Handle(command));
        }
        public MaternityBenefitsBulkResponse Handle(MaternityBenefitsBulkRequest request)
        {
            var dict = new Dictionary <System.Guid, MaternityBenefitsResponse>();

            foreach (var p in request.Persons)
            {
                var singleRequest = new MaternityBenefitsRequest()
                {
                    Rule   = request.Rule,
                    Person = p
                };
                var nextResult = _requestHandler.Handle(singleRequest);
                dict.Add(p.Id, nextResult);
            }

            return(new MaternityBenefitsBulkResponse()
            {
                ResponseDict = dict
            });
        }
コード例 #8
0
 public void Post([FromBody] PostUser request)
 {
     _handler.Handle(request);
 }