예제 #1
0
        public async Task <IActionResult> Post(ApiVersion apiVersion, [FromBody] PostOperacaoRequest model)
        {
            var operacaoGrupo = await _operacaoGrupoService.Get(model.OperacaoGrupoId);

            if (operacaoGrupo == null)
            {
                ModelState.TryAddModelError(nameof(model.OperacaoGrupoId), "Código identificador do grupo de operação inválido.");
            }

            if (ModelState.IsValid)
            {
                var entity = model.ConvertRequestToEntity <Operacao>();

                await _operacaoService.Create(entity);

                await _unitOfWork.CompleteAsync();

                return(CreatedAtAction(nameof(Get), new { version = apiVersion.ToString(), operacaoId = entity.Id }, new PostOperacaoResponse
                {
                    Data = entity.ConvertEntityToSchema <OperacaoSchema>()
                }));
            }

            return(BadRequest(ModelState.ToErrorResponse()));
        }
        public async Task <IActionResult> Get([FromRoute] int operacaoGrupoId)
        {
            var entity = await _operacaoGrupoService.Get(operacaoGrupoId);

            if (entity == null)
            {
                return(NotFound(new ErrorResponse("O recurso solicitado não foi localizado.", EnumResponseCode.Generico)));
            }

            return(Ok(new GetOperacaoGrupoResponse
            {
                Data = entity.ConvertEntityToSchema <OperacaoGrupoSchema>()
            }));
        }