public ActionResult CreateNewTrainer()
        {
            CreateNewTrainerViewModel model = new CreateNewTrainerViewModel()
            {
                Types = _context.Types.ToList()
            };

            return(View(model));
        }
        public ActionResult EditTrainer(CreateNewTrainerViewModel model)
        {
            var findTrainer = _context.Users.OfType <Trainer>().SingleOrDefault(t => t.Id == model.Id);

            findTrainer.TrainerName  = model.TrainerName;
            findTrainer.TypeId       = model.TypeId;
            findTrainer.WorkingPlace = model.WorkingPlace;
            _context.SaveChanges();
            return(RedirectToAction("AllTrainer"));
        }
        public ActionResult EditTrainer(string Id)
        {
            var findTrainer = _context.Users.OfType <Trainer>().Include(t => t.Type).SingleOrDefault(t => t.Id == Id);

            if (findTrainer == null)
            {
                return(HttpNotFound());
            }
            CreateNewTrainerViewModel model = new CreateNewTrainerViewModel()
            {
                Id           = findTrainer.Id,
                TrainerName  = findTrainer.TrainerName,
                Email        = findTrainer.Email,
                WorkingPlace = findTrainer.WorkingPlace,
                Type         = findTrainer.Type,
                Types        = _context.Types.ToList()
            };

            return(View(model));
        }
        public async Task <ActionResult> CreateNewTrainer(CreateNewTrainerViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new Trainer {
                    UserName = model.Email, Email = model.Email, WorkingPlace = model.WorkingPlace, TypeId = model.TypeId, TrainerName = model.TrainerName
                };

                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    var userRole = UserManager.AddToRole(user.Id, "Trainer");
                    return(RedirectToAction("AllTrainer"));
                }
                AddErrors(result);
            }

            return(View(model));
        }