Пример #1
0
        public async Task <IActionResult> Register([FromBody] ClientAddOrUpdateModel clientModel)
        {
            //throw new System.Exception("sadasdasd");
            string refresh_token    = _tekonManager.GenerateRefreshToken();
            var    registeredClient = await _clientService.RegisterAsync(clientModel, refresh_token);

            string access_token = _tekonManager.GenerateAccessToken(registeredClient.Id);

            return(Ok(new { client = registeredClient, access_token, refresh_token }));
        }
        public async Task <bool> UpdateClientAsync(ClientAddOrUpdateModel client)
        {
            if (!await ClientExists(client.Id))
            {
                return(false);
            }

            var updatebleProps = new[] { nameof(Client.DateOfBirth),
                                         nameof(Client.FirstName),
                                         nameof(Client.LastName),
                                         nameof(Client.PasswordHash) };

            var clientToUpdate = _mapper.Map <Client>(client);

            clientToUpdate.PasswordHash = _passwordService.ComputeHash(client.Password);
            return(await _clientRepository.UpdateAsync(clientToUpdate, updatebleProps));
        }
        public async Task <ClientReadModel> RegisterAsync(ClientAddOrUpdateModel client, string refreshToken)
        {
            var clientToSave = _mapper.Map <Client>(client);

            clientToSave.Id           = Guid.NewGuid();
            clientToSave.Created      = DateTime.Now;
            clientToSave.PasswordHash = _passwordService.ComputeHash(client.Password);
            await _clientRepository.BeginTransactionAsync();

            try {
                await _clientRepository.AddAsync(clientToSave);
                await AddRefreshTokenAsync(clientToSave.Id, refreshToken);

                _clientRepository.CommitTransaction();
                return(_mapper.Map <ClientReadModel>(clientToSave));
            } catch (Exception) {
                _clientRepository.RollbackTransaction();
                throw;
            }
        }
Пример #4
0
        public async Task <IActionResult> Update([FromBody] ClientAddOrUpdateModel clientModel)
        {
            var updated = await _clientService.UpdateClientAsync(clientModel);

            return(updated ? (IActionResult)Ok() : BadRequest());
        }