public async Task <IActionResult> CreateCapability([FromBody] CapabilityInput input)
        {
            Capability capability;

            try
            {
                capability = await _capabilityServiceClient.CreateCapability(input.Name, input.Description);
            }
            catch (UnauthorizedException)
            {
                return(Unauthorized());
            }
            catch (RecoverableUpstreamException ex)
            {
                return(StatusCode((int)ex.HttpStatusCode, ex.Message));
            }


            var createdAtRouteResultConverter = new CreatedAtRouteResultConverter <Capability>(
                routeName: "GetCapabilityById",
                routeValues: new { id = capability.Id },
                value: capability
                );

            return(createdAtRouteResultConverter.Convert());
        }
Exemplo n.º 2
0
        public async Task <IActionResult> CreateCapability([FromBody] CapabilityInput input)
        {
            try
            {
                var capability = await _capabilityServiceClient.CreateCapability(input.Name, input.Description);

                var a = new CreatedAtRouteResult <Capability>(
                    routeName: "GetCapabilityById",
                    routeValues: new { id = capability.Id },
                    value: capability
                    );
                return(a.Convert());
            } catch (CapabilityValidationException tve) {
                return(BadRequest(new {
                    Message = tve.Message
                }));
            }
        }