Example #1
0
        private async Task <bool> VerifyAccount(Subscriber subscriber, int code)
        {
            Logger.LogInformation($"Verifying account for {subscriber.Email}, entered PIN is '{code}'.");
            if (subscriber.IsVerified)
            {
                // no need to verify anything
                return(true);
            }

            subscriber.VerificationAttempts++;

            if (subscriber.Pin == code && subscriber.VerificationAttempts <= MaxVerificationAttempts)
            {
                subscriber.IsVerified           = true;
                subscriber.VerificationAttempts = 0;
                await Notifier.AccountVerified(subscriber);

                return(true);
            }

            await Notifier.CouldNotVerifyAccount(subscriber);

            return(false);
        }