예제 #1
0
        public IHttpActionResult Confirm(ConfirmationRepresentation representation)
        {
            if (ModelState.IsValid)
            {
                var account = _accountRepository.FindByEmail(representation.Email);
                if (_registrationService.CanConfirm(account, representation))
                {
                    account.ConfirmEmail(DateTime.Now);
                    return(Ok());
                }
            }

            return(BadRequest());
        }
예제 #2
0
        public IHttpActionResult Confirm(ConfirmationRepresentation representation)
        {
            if (ModelState.IsValid)
            {
                using (var ctx = new RegistrationContext())
                {
                    var account =
                        ctx.Accounts.SingleOrDefault(
                            a =>
                            a.Email == representation.Email && a.ActivationCode == representation.Code &&
                            a.ActivationCodeExpirationTime >= DateTime.Now);

                    if (account != null)
                    {
                        account.ConfirmEmail(DateTime.Now);
                        ctx.SaveChanges();

                        return(Ok());
                    }
                }
            }

            return(BadRequest());
        }
예제 #3
0
 public bool CanConfirm(Account account, ConfirmationRepresentation representation)
 {
     return(account.ActivationCode == representation.Code && account.ActivationCodeExpirationTime >= DateTime.Now);
 }