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()); }
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()); }
public bool CanConfirm(Account account, ConfirmationRepresentation representation) { return(account.ActivationCode == representation.Code && account.ActivationCodeExpirationTime >= DateTime.Now); }