public async Task <ActionResult> Create(SaveDoctorViewModel saveDoctor)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var doctor = Mapper.Map <SaveDoctorViewModel, Doctor>(saveDoctor);
                    var user   = await _userManager.GetUserAsync(HttpContext.User);

                    await _userManager.RemoveFromRoleAsync(user, "Basic");

                    await _userManager.AddToRoleAsync(user, "Doctor");

                    doctor.UserId = user.Id;
                    _context.Doctor.Add(doctor);
                    _context.SaveChanges();
                    return(RedirectToAction("Index", "Home"));
                }
                throw new Exception("Campos inválidos");
            }
            catch
            {
                return(View());
            }
        }
        public ActionResult Edit(Guid id, SaveDoctorViewModel saveDoctor)
        {
            try
            {
                if (id != saveDoctor.Id)
                {
                    return(BadRequest());
                }

                if (ModelState.IsValid)
                {
                    var doctor = Mapper.Map <Doctor>(saveDoctor);

                    _context.Doctor.Update(doctor);
                    _context.SaveChanges();

                    return(RedirectToAction("Index", "Home"));
                }
                throw new Exception("Campos inválidos");
            }
            catch
            {
                return(View());
            }
        }
        public async Task <ActionResult> Delete(Guid id, SaveDoctorViewModel saveDoctor)
        {
            try
            {
                if (id != saveDoctor.Id)
                {
                    return(BadRequest());
                }

                var doctor = await _context.Doctor.SingleOrDefaultAsync(c => c.Id == id);

                doctor.IsActive = false;
                _context.Doctor.Update(doctor);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index", "Home"));
            }
            catch
            {
                return(View());
            }
        }