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
                        };
                    }
                }
            }));
        }