public ActionResult AddMedico(UsuarioMedico medico)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    //validar Unique Constraint
                    var validacao = ValidacaoBruta(medico.Email, medico.Rg, medico.Cpf, null);
                    if (validacao != null)
                    {
                        ModelState.AddModelError("", validacao);
                        return View(medico);
                    }

                    //se passar pela validação grava...
                    //Gravando relação de clinica e especialidade
                    var clinica = _unitOfWork.ClinicaRepositorio.Get(m => m.ClinicaId == medico.ClinicaId).First();
                    var espec =
                        _unitOfWork.EspecialidadeRepositorio.Get(m => m.EspecialidadeId == medico.EspecialidadeId)
                            .First();
                    clinica.Especialidades.Add(espec);

                    //Gravando Médico na tabela de usuário
                    medico.UserName = (string)Session["UserNameCadastrado"];
                    medico.UserId =
                        _unitOfWork.UsuarioRepositorio.GetIdByUserName((string)Session["UserNameCadastrado"]);
                    medico.Perfil = "Medico";
                    _unitOfWork.MedicoRepositorio.Insert(medico);
                    _unitOfWork.Save();

                    //Adcionando Mensagem de Sucesso na sessão para mostrar na view
                    Session.Add("Mensagem", "Médico adiciondado com sucesso");
                    return RedirectToAction("Registrar");
                }
            }
            catch (Exception)
            {
                ModelState.AddModelError("", "Não foi possível adicionar o novo Médico");
            }
            finally
            {
                _unitOfWork.Dispose();
            }
            return View(medico);
        }
        public ActionResult SalvarMedico(UsuarioMedico model)
        {
            try
            {
                model.ClinicaId = Convert.ToInt32(Session["UserId"]);
                model.EnderecoId = Convert.ToInt32(Session["enderecoId"]);
                model.Endereco.EnderecoId = model.EnderecoId;
                _unitOfWork.MedicoRepositorio.Update(model);
                _unitOfWork.EnderecoRepositorio.Update(model.Endereco);
                _unitOfWork.Save();

                Session.Add("Mensagem", "Dados atualizados com sucesso");
                return RedirectToAction("Index", "Home");
            }
            catch (Exception)
            {
                Session.Add("Erro", "Não foi possível atualizar os dados");
            }
            finally
            {
                _unitOfWork.Dispose();
            }
            return RedirectToAction("Index", "Home");
        }