public async Task <Unit> Handle(SendAuthorizationCodeCommand request, CancellationToken cancellationToken)
        {
            var account = await _repository.GetAccountByEmail(request.Email, cancellationToken) ??
                          throw new NotFoundException("There is no account registered by that email", new { request.Email });

            var authorizationCode = RandomCodeGenerator.GenerateRandomCode(30, false);

            account.Codes.Add(new AccountAuthorizationCode
            {
                Account   = account,
                Active    = true,
                Code      = BC.HashPassword(authorizationCode),
                Generated = DateTime.Now
            }
                              );

            await _emailManager.SendAuthorizationCode(
                request.Email,
                account.Username,
                authorizationCode,
                _context.GetUserAgentAsString(),
                _context.GetRequestIpAsString(),
                cancellationToken
                );

            _repository.Update(account);

            return(Unit.Value);
        }