Beispiel #1
0
        public async Task <IActionResult> Post([FromBody] ClientForCreationDto clientForCreation)
        {
            var client = AutoMapper.Mapper.Map <Client>(clientForCreation);

            var hrResponse = await _hrService.PostClientAsync(clientForCreation);

            if (hrResponse.Token == null)
            {
                return(BadRequest("Could not create account"));
            }

            var clientId = TokenParser.GetClientIdFromToken(hrResponse.Token);

            client.Id = clientId;

            _clientRepository.Add(client);
            if (!_clientRepository.Save())
            {
                return(BadRequest("Could not create client"));
            }

            var result = AutoMapper.Mapper.Map <ClientWithTicketsAndReviewsDto>(client);

            return(CreatedAtRoute("GetClient", new { id = client.Id }, result));
        }