Exemplo n.º 1
0
        public async Task <IActionResult> Produce(CreateOperationRequest request)
        {
            var validatorActionResult = await _validationArrangement.Validate(request);

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

            return(actionResult);
        }
        public async Task <IActionResult> Create([FromQuery] CreateOperationFromQuery query,
                                                 [FromBody] CreateOperationFromBody body)
        {
            var request = new CreateOperationRequest(query, body);

            var result = await _apiResult.Produce(request);

            return(result);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 创建操作
        /// </summary>
        /// <param name="request">请求</param>
        public async Task <Guid> CreateAsync(CreateOperationRequest request)
        {
            var operation = request.ToOperation();

            await ValidateCreateAsync(operation);

            operation.Init();
            await OperationRepository.AddAsync(operation);

            await UnitOfWork.CommitAsync();

            return(operation.Id);
        }
        public async Task<IActionResult> Process(CreateOperationRequest request, IValidatorActionResult validatorActionResult)
        {
            IActionResult actionResult;

            if (validatorActionResult.Result == null)
            {
                var call = _cqsMapper.Map(request);

                var result = await _mediator.Send(call);

                actionResult = result.IsFailure ? _apiResponse.Fail(result)
                                                : _apiResponse.Created(string.Format("/api/operations/{0}", ((Result<Guid>)result).Value), result.Version.ToString());
            }
            else
            {
                actionResult = validatorActionResult.Result;
            }

            return actionResult;
        }
Exemplo n.º 5
0
 /// <summary>
 /// 转换为操作实体
 /// </summary>
 /// <param name="request">请求</param>
 public static Operation ToOperation(this CreateOperationRequest request)
 {
     return(request?.MapTo <Operation>());
 }
Exemplo n.º 6
0
        public async Task <IActionResult> CreateAsync([FromBody] CreateOperationRequest request)
        {
            var id = await Service.CreateAsync(request);

            return(Success(id));
        }
Exemplo n.º 7
0
        public CreateOperationCommand Map(CreateOperationRequest request)
        {
            var result = new CreateOperationCommand(request.BodyName, request.BodyDescription, null, request.BodyTags);

            return(result);
        }