예제 #1
0
        public async Task <IActionResult> Produce(ListPropertyRequest request)
        {
            var validatorActionResult = await _validationArrangement.Validate(request);

            var actionResult = await _operationArrangement.Process(request, validatorActionResult);

            return(actionResult);
        }
        public async Task <IActionResult> List([FromQuery] ListPropertiesFromQuery query)
        {
            var request = new ListPropertyRequest(query);

            var result = await _apiResult.Produce(request);

            return(result);
        }
예제 #3
0
        public ListPropertyQuery Map(ListPropertyRequest request)
        {
            var filter = request.Filter;
            var top    = request.Top;
            var skip   = request.Skip;

            var result = new ListPropertyQuery(filter, top, skip);

            return(result);
        }
        public async Task <IActionResult> Process(ListPropertyRequest request, IValidatorActionResult validatorActionResult)
        {
            IActionResult actionResult;

            if (validatorActionResult.Result == null)
            {
                var query  = _cqsMapper.Map(request);
                var result = await _mediator.Send(query);

                actionResult = result.IsFailure ? _apiResponse.Fail(result)
                                                : _apiResponse.Ok(((Result <PropertiesModel>)result).Value);
            }
            else
            {
                actionResult = validatorActionResult.Result;
            }

            return(actionResult);
        }