public static VerificationResult verifyCode(string userId, String code) { VerificationResult result = new VerificationResult(); var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDataContext())); if (userManager.IsInRole(userId, "Guest")) { result.addError("User is already verified!"); return(result); } UserVerificationLog currentLog = db.UserVerificationLogs.Where(a => a.UserId.Equals(userId) && a.Status.Equals("NOT_CONFIRMED") && a.Code.Equals(code)).FirstOrDefault(); if (currentLog != null) { if (currentLog.ExpiryDate.CompareTo(DateTime.Now) < 0) { result.addError("Code is expired, Request new one please!"); return(result); } currentLog.ConfirmationDate = DateTime.Now; currentLog.Status = "CONFIRMED"; currentLog.LastModificationDate = DateTime.Now; db.Entry(currentLog).State = EntityState.Modified; db.SaveChanges(); assignUserToGuestRole(userId); result.addSuccess("Success"); } else { result.addError("Code is wrong"); } return(result); }