public ActionResult EditTrainerAccount(AdminChangePassViewModel model)
        {
            var trainer = _context.Users
                          .OfType <Trainer>()
                          .SingleOrDefault(t => t.Id == model.Id);

            trainer.Email = model.Email;

            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "");
                return(View(model));
            }

            if (trainer.PasswordHash != null)
            {
                _userManager.RemovePassword(trainer.Id);
            }
            _userManager.AddPassword(trainer.Id, model.Password);

            _context.SaveChanges();


            return(RedirectToAction("TrainerAccountView", "Admin"));
        }
        public ActionResult EditStaffAccount(AdminChangePassViewModel model)
        {
            var staff = _context.Users
                        .OfType <Staff>()
                        .SingleOrDefault(t => t.Id == model.Id);

            if (_context.Users
                .OfType <Staff>()
                .ToList()
                .Any(t => t.Email == model.Email))
            {
                ModelState.AddModelError("Email", "This email has registered before");
            }

            staff.Email = model.Email;
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (staff.PasswordHash != null)
            {
                _userManager.RemovePassword(staff.Id);
            }
            _userManager.AddPassword(staff.Id, model.Password);
            _context.SaveChanges();

            return(RedirectToAction("StaffAccountView", "Admin"));
        }
        public ActionResult EditStaffAccount(string id)
        {
            var staffaccount = _context.Users
                               .OfType <Staff>()
                               .FirstOrDefault(t => t.Id == id);

            if (staffaccount == null)
            {
                return(HttpNotFound());
            }
            var registeredacocunt = new AdminChangePassViewModel()
            {
                Id    = staffaccount.Id,
                Email = staffaccount.Email,
            };

            return(View(registeredacocunt));
        }
        public ActionResult EditTrainerAccount(string id)
        {
            var traineraccount = _context.Users
                                 .OfType <Trainer>()
                                 .SingleOrDefault(t => t.Id == id);

            if (traineraccount == null)
            {
                return(HttpNotFound());
            }

            var registermodel = new AdminChangePassViewModel()
            {
                Id    = traineraccount.Id,
                Email = traineraccount.Email,
            };

            return(View(registermodel));
        }