private static async Task OpenConnection(IDbConnectionController controller)
        {
            for (var i = 0; i < 5; i++)
            {
                try
                {
                    await controller.OpenConnectionAsync();

                    break;
                }
                catch (Exception)
                {
                    Thread.Sleep(1000);
                }
            }
        }
        public AuthService(
            IDbConnectionController connectionController,
            ITransaction transaction,
            IUsersRepo usersRepo,
            ITokenRepo tokenRepo,
            ITokenMaker tokenMaker,
            IPasswordHasher passwordHasher,
            IMapper mapper)
        {
            this.connectionController = connectionController;
            this.transaction          = transaction;
            this.usersRepo            = usersRepo;
            this.tokenRepo            = tokenRepo;
            this.passwordHasher       = passwordHasher;
            this.mapper = mapper;

            this.tokenMaker = tokenMaker;
        }
        public RegistrationService(
            IDbConnectionController connectionController,
            ITransaction transaction,
            IUsersRepo usersRepo,
            ITokenRepo tokenRepo,
            INotificationSender notificationSender,
            IPasswordHasher passwordHasher,
            ITokenMaker tokenMaker,
            IMapper mapper)
        {
            this.connectionController = connectionController;
            this.transaction          = transaction;
            this.usersRepo            = usersRepo;
            this.tokenRepo            = tokenRepo;
            this.passwordHasher       = passwordHasher;
            this.tokenMaker           = tokenMaker;
            this.mapper = mapper;

            this.notificationSender = notificationSender;
        }
 public UsersService(IDbConnectionController connectionController, IUsersRepo repo, IMapper mapper)
 {
     this.connectionController = connectionController;
     this.repo   = repo;
     this.mapper = mapper;
 }