Пример #1
0
        public async Task SetPhoneNumberConfirmedAsync(TUser user, bool confirmed)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            if (user.PhoneNumber == null)
            {
                throw new InvalidOperationException("Cannot set the confirmation status of the phone number because user doesn't have a phone number.");
            }

            RavenUserPhoneNumber userPhoneNumber = await GetUserPhoneNumberAsync(user.Email).ConfigureAwait(false);

            if (userPhoneNumber == null)
            {
                throw new InvalidOperationException("Cannot set the confirmation status of the phone number because user doesn't have a phone number as RavenUserPhoneNumber document.");
            }

            if (confirmed)
            {
                userPhoneNumber.SetConfirmed();
            }
            else
            {
                userPhoneNumber.SetUnconfirmed();
            }
        }
Пример #2
0
        private async Task <ConfirmationRecord> GetUserPhoneNumberConfirmationAsync(string phoneNumber)
        {
            RavenUserPhoneNumber userPhoneNumber = await GetUserPhoneNumberAsync(phoneNumber).ConfigureAwait(false);

            return((userPhoneNumber != null)
                ? userPhoneNumber.ConfirmationRecord
                : null);
        }
Пример #3
0
        public Task SetPhoneNumberAsync(TUser user, string phoneNumber)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }
            if (phoneNumber == null)
            {
                throw new ArgumentNullException("phoneNumber");
            }

            user.SetPhoneNumber(phoneNumber);
            RavenUserPhoneNumber ravenUserPhoneNumber = new RavenUserPhoneNumber(phoneNumber, user.Id);

            return(_documentSession.StoreAsync(ravenUserPhoneNumber));
        }
Пример #4
0
        private Task <RavenUserPhoneNumber> GetUserPhoneNumberAsync(string phoneNumber)
        {
            string keyToLookFor = RavenUserPhoneNumber.GenerateKey(phoneNumber);

            return(_documentSession.LoadAsync <RavenUserPhoneNumber>(keyToLookFor));
        }