private async void Mapear(Resultado reg, IniciaResultadoDto dto) { var consulta = await _repConsulta.GetConsultaAlunoAsyncById(dto.hashSimulacao); if (consulta == null) { throw new Exception("Erro ao carregar consulta código :" + dto.hashSimulacao); } reg.DataHora = DateTime.Now; reg.AlunoId = dto.AlunoId; reg.NomeAluno = _repUser.GetUserById(dto.AlunoId).Result.FullName; reg.ProfessorId = consulta.UserId; reg.NomeProfessor = _repUser.GetUserById(reg.ProfessorId).Result.FullName; reg.HashLib = dto.hashSimulacao; reg.PercAcertPergunta = 0; reg.PercAcertExame = 0; reg.Finalizado = false; reg.NomePaciente = consulta.NomePaciente; reg.DataNascimento = consulta.DataNascimento.ToString(); reg.Sexo = consulta.Sexo; reg.TipoAtendimento = consulta.TipoAtendimento; reg.QueixaPrincipal = consulta.QueixaPrincipal; reg.InicioSintomas = consulta.InicioSintomas; reg.QtdMaxExame = consulta.QtdMaxExame; reg.QtdMaxPergunta = consulta.QtdMaxPergunta; reg.PerguntaRespostasResultados = new List <PerguntaRespostaResultado>(); reg.ExameResultados = new List <ExameResultado>(); if (consulta.PerguntaRespostas.Any()) { consulta.PerguntaRespostas.ForEach(pergResp => { reg.PerguntaRespostasResultados.Add(new PerguntaRespostaResultado { Pergunta = pergResp.Pergunta, Resposta = pergResp.Resposta, Certa = pergResp.Certa, Selecionada = false }); }); } if (consulta.Exames.Any()) { consulta.Exames.ForEach(exame => { var exameResult = new ExameResultado { Nome = exame.Nome, ImgExame = exame.ImgExame, Certa = exame.Certa, Selecionada = false }; reg.ExameResultados.Add(exameResult); }); } }
public async Task <IActionResult> GetConsultaAluno(string ConsultaId) { try { var consulta = await Rep.GetConsultaAlunoAsyncById(ConsultaId); if (consulta == null) { throw new Exception("Consulta não encontrada."); } var result = mapper.Map <ConsultaView>(consulta); return(Ok(result)); } catch (Exception ex) { return(this.StatusCode(StatusCodes.Status500InternalServerError, ex)); } }