private List <ResolucaoQuestao> ObterResolucaoQuestao(Interface.Resolucao arg) { var resolucoes = new Resolucoes(NhibernateSetup.GetSession()); var listaResolucoes = resolucoes.ResolucaoQuestaoPorTarefaEAluno(arg.IdTarefa, arg.Questoes.First().IdAluno).ToList(); if (listaResolucoes.Any()) { foreach (var resolucaoQuestao in listaResolucoes) { resolucaoQuestao.Comentario = arg.Questoes.First(q => q.Id == resolucaoQuestao.Questao.Id).Comentario; resolucaoQuestao.Resposta = arg.Questoes.First(q => q.Id == resolucaoQuestao.Questao.Id).Resposta; } } var tarefas = new Tarefas(NhibernateSetup.GetSession()); var alunos = new Alunos(NhibernateSetup.GetSession()); var questoes = new Questoes(NhibernateSetup.GetSession()); var tarefa = tarefas.Por(arg.IdTarefa); var aluno = alunos.Por(arg.Questoes.First().IdAluno); var novasQuestoes = new List <Interface.Questao>(); foreach (var questao in arg.Questoes.Where(q => q.Resposta != null)) { if (listaResolucoes.All(l => l.Questao.Id != questao.Id)) { novasQuestoes.Add(questao); } } foreach (var questao in novasQuestoes) { var resolucaoQuestao = new ResolucaoQuestao(); resolucaoQuestao.Tarefa = tarefa; resolucaoQuestao.Aluno = aluno; resolucaoQuestao.Resposta = questao.Resposta; resolucaoQuestao.Comentario = questao.Comentario; resolucaoQuestao.Questao = questoes.Por(questao.Id); listaResolucoes.Add(resolucaoQuestao); } return(listaResolucoes); }
private Tarefa ObterTarefa(Interface.Tarefa tarefaInterface) { var questoes = new Questoes(NhibernateSetup.GetSession()); var professores = new Professores(NhibernateSetup.GetSession()); var listaQuestoes = new List <Questao>(); foreach (var questao in tarefaInterface.Questoes) { listaQuestoes.Add(questoes.Por(questao.Id)); } var professor = professores.Por(tarefaInterface.IdProfessor); var tarefa = new Tarefa { Questoes = listaQuestoes, Professor = professor }; return(tarefa); }