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