public Task <JsonResponse> ForgotPasswordConfrim(string AspNetUserID, string Code) { return(Task.Run(() => { using (MIUEntities db = new MIUEntities()) { try { AspNetUserAuthentication user = db.AspNetUserAuthentications.Where(x => x.UserID == AspNetUserID && x.Code == Code).SingleOrDefault(); if (user == null) { return new JsonResponse() { Flag = true, Message = "User is not found" }; } else { string Message = "Your code is expired."; if (user.CreatedDate.AddMinutes(2).ToUniversalTime() > DateTime.Now.ToUniversalTime()) { //user.IsVerified = true; //db.TwoFactorAuthenticatedUsers.Add(user); //db.SaveChanges(); Message = "Comfirm ForgotPassword"; } return new JsonResponse() { Flag = true, Message = Message }; } } catch (Exception ex) { return new JsonResponse() { Flag = false, Message = ex.Message }; } } })); }
public Task <JsonResponse> ForgotPassword(string email) { return(Task.Run(() => { using (MIUEntities db = new MIUEntities()) { try { User user = db.Users.Where(x => x.EmailAccount == email).FirstOrDefault(); if (user == null) { return new JsonResponse() { Flag = true, Message = "User is not found" };; } else { Random rnd = new Random(); string code = rnd.Next(1, 999999).ToString("D6"); AspNetUser aspNetUser = db.AspNetUsers.Where(x => x.Email == email).FirstOrDefault(); var check = (from a in db.AspNetUserAuthentications where a.UserID == aspNetUser.Id select a.UserID).FirstOrDefault(); AspNetUserAuthentication auth = new AspNetUserAuthentication(); if (check == null) { auth = new AspNetUserAuthentication() { UserID = aspNetUser.Id, Code = code, CreatedDate = DateTime.Now }; db.AspNetUserAuthentications.Add(auth); db.SaveChanges(); } else { auth = new AspNetUserAuthentication(); auth = db.AspNetUserAuthentications.Where(a => a.UserID == aspNetUser.Id).FirstOrDefault(); auth.Code = code; auth.CreatedDate = DateTime.Now; db.SaveChanges(); } code = "Your two factor authentication code is below \n" + code; EmailManager.SendEmail(code, email, "Two Factor Authentication Code"); //db.SaveChanges(); return new JsonResponse() { Flag = true, Message = "Successfully Sent", ReferenceKey = auth.UserID }; } } catch (Exception ex) { return new JsonResponse() { Flag = false, Message = ex.Message }; } } })); }