Beispiel #1
0
        public async Task <bool> VerifyEmail(Services.Models.EmailVerification verification)
        {
            try
            {
                var emailVerification = await _accountContext.EmailVerificationS.FirstOrDefaultAsync(c => c.Email == verification.Email);

                if (emailVerification == null)
                {
                    throw new EmailVerificationException("Email not found");
                }
                if (emailVerification.VerificationCode != verification.VerificationCode)
                {
                    throw new EmailVerificationException("The verification code is wrong");
                }
                if (emailVerification.ExpirationTime < DateTime.Now)
                {
                    throw new EmailVerificationException("The expiration date has expired");
                }
                var active = await ActivateAccount(verification.Email);

                if (active == -1)
                {
                    throw new EmailVerificationException("Activate account failed");
                }
                return(true);
            }
            catch (Exception e)
            {
                throw new EmailVerificationException(e.Message);
            }
        }
        public async Task <bool> UpdateVerificationCodeAsync(Services.Models.EmailVerification emailVerification)
        {
            EmailVerification oldEmailVerification = await _accountContext.EmailVerificationS.FirstOrDefaultAsync(
                e => e.Email == emailVerification.Email);

            if (emailVerification == null)
            {
                throw new AccountNotFoundException("we didn't find this email");    //which exception
            }
            oldEmailVerification.VerificationCode = emailVerification.VerificationCode;
            oldEmailVerification.ExpirationTime   = emailVerification.ExpirationTime;
            return(await _accountContext.SaveChangesAsync() > 0);
        }
        public async Task <ActionResult <bool> > CreateAccountAsync(Customer customerDTO)
        {
            var emailVerification = new Services.Models.EmailVerification()
            {
                Email            = customerDTO.Email,
                VerificationCode = Int32.Parse(customerDTO.VerificationCode)
            };
            var ok = await _verificationService.VerifyEmail(emailVerification);

            if (!ok)
            {
                return(BadRequest("The code not match"));
            }
            var customer = _mapper.Map <Services.Models.Customer>(customerDTO);

            return(await _accountService.CreateAsync(customer));
        }
        public async Task <bool> VerifyEmail(Services.Models.EmailVerification verification)
        {
            var emailVerification = await _accountContext.EmailVerificationS.FirstOrDefaultAsync(c => c.Email == verification.Email);

            if (emailVerification == null)
            {
                throw new EmailVerificationException("Email not found");
            }
            if (emailVerification.VerificationCode != verification.VerificationCode)
            {
                throw new EmailVerificationException("The verification code is wrong");
            }
            if (emailVerification.ExpirationTime < DateTime.Now)
            {
                throw new EmailVerificationException("The expiration time has expired");
            }
            return(true);
        }
Beispiel #5
0
        public async Task <Services.Models.EmailVerification> CreateEmailVerificationAsync(Services.Models.EmailVerification emailVerificationModel)
        {
            try
            {
                Entities.EmailVerification emailVerification = _mapper.Map <Entities.EmailVerification>(emailVerificationModel);
                await _accountContext.EmailVerificationS.AddAsync(emailVerification);

                await _accountContext.SaveChangesAsync();

                return(_mapper.Map <Services.Models.EmailVerification>(emailVerification));
            }
            catch (Exception e)
            {
                throw new EmailVerificationException(e.Message);
            }
        }
 public async Task <int> CreateEmailVerificationAsync(Services.Models.EmailVerification emailVerificationModel)
 {
     Entities.EmailVerification emailVerification = _mapper.Map <Entities.EmailVerification>(emailVerificationModel);
     _accountContext.EmailVerificationS.Add(emailVerification);
     return(await _accountContext.SaveChangesAsync());
 }