public async Task <IActionResult> Produce(UpdateIconRequest request) { var validatorActionResult = await _validationArrangement.Validate(request); var actionResult = await _operationArrangement.Process(request, validatorActionResult); return(actionResult); }
public UpdateIconCommand Map(UpdateIconRequest request) { var id = new Guid(request.RouteId); var valuePairs = _jsonProvider.ToDictionary(request.BodyPatch); Optional <string> name = valuePairs.GetOptional("name"); Optional <string> dataPath = valuePairs.GetOptional("dataPath"); var version = ToVersion(request.HeaderIfMatch); var result = new UpdateIconCommand(id, name, dataPath, version); return(result); }
public async Task <IActionResult> Update([FromRoute] UpdateIconFromRoute route, [FromQuery] UpdateIconFromQuery query, [FromHeader] UpdateIconFromHeader header) { string bodyAsString = await Request.GetRawBodyStringAsync(); var body = new UpdateIconFromBody { Patch = bodyAsString }; var request = new UpdateIconRequest(route, query, header, body); var result = await _apiResult.Produce(request); return(result); }
public async Task<IActionResult> Process(UpdateIconRequest 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.Updated(result.Version.ToString()); } else { actionResult = validatorActionResult.Result; } return actionResult; }