public void Corrigir(Exercicio realizado) { ExercicioDAL dal = new ExercicioDAL(); Nota n = new Nota(); Exercicio gabarito = new Exercicio(); gabarito = dal.Consultar(realizado.ID); n = dal.Corrigir(realizado, gabarito); NotaDAL dalnota = new NotaDAL(); dalnota.Inserir(n); DesempenhoDAL daldesempenho = new DesempenhoDAL(); ConteudoDAL dalconteudo = new ConteudoDAL(); gabarito.Conteudo = dalconteudo.Consultar(gabarito.Conteudo.ID); Desempenho desempenho = daldesempenho.Consultar(gabarito.Conteudo.Materia.ID, realizado.Usuario); if (desempenho.ID == 0) { desempenho = new Desempenho { HorasEstudadas = 0, Materia = gabarito.Conteudo.Materia, Porcentagem = 0, Usuario = new Usuario { ID = realizado.Usuario } }; daldesempenho.Inserir(desempenho); } else { daldesempenho.Alterar(desempenho); } }
void Proximo() { if (realizando) { if (enviar == false) { Questao questao = new Questao(); questao.Alternativa = new List <Alternativa>(); foreach (var item in Gabarito.Questao.Where(x => x.Ordem == sequencia[QuestaoAtual])) { questao.ID = item.ID; questao.Ordem = item.Ordem; questao.Tipo = item.Tipo; questao.Pergunta = item.Pergunta; questao.Usuario = UsuarioAtual.ID; questao.AleatorioAlternativa = item.AleatorioAlternativa; questao.Exercicio = item.Exercicio; } if (questao.Tipo.Trim() == "C") { bool validar = true; for (int i = 0; i < textBoxes.Length; i++) { if (textBoxes[i].Text.Trim() == "") { validar = false; } } if (validar) { int ordem = 1; for (int i = 0; i < textBoxes.Length; i++) { Alternativa alternativa = new Alternativa { Conteudo = textBoxes[i].Text.Trim(), Ordem = ordem, Questao = questao, Tipo = "R", Usuario = UsuarioAtual.ID }; questao.Alternativa.Add(alternativa); ordem += 1; } } else { MessageBox.Show("Preencha todos os campos", "Enigma", MessageBoxButtons.OK, MessageBoxIcon.Error); processar = false; } } else { bool validar = false; int resposta = 0; for (int i = 0; i < respostas.Length; i++) { if (respostas[i] == true) { validar = true; resposta = i; } } if (validar) { Alternativa alternativa = new Alternativa(); foreach (var item in Gabarito.Questao.Where(x => x.Ordem == sequencia[QuestaoAtual])) { foreach (var it in item.Alternativa.Where(x => x.Ordem == sequenciaalternativa[resposta])) { alternativa = new Alternativa { Conteudo = it.Conteudo, Ordem = it.Ordem, Questao = it.Questao, Tipo = "R", Usuario = UsuarioAtual.ID }; } } questao.Alternativa.Add(alternativa); } else { MessageBox.Show("Selecione uma alternativa", "Enigma", MessageBoxButtons.OK, MessageBoxIcon.Error); processar = false; } } if (processar) { Resolvido.Questao.Add(questao); if (QuestaoAtual + 1 == Gabarito.Questao.Count) { enviar = true; } else { QuestaoAtual += 1; MostrarQuestao(); } } } if (enviar) { try { Program.PanelCarregando.Visible = true; Program.PanelCarregando.Refresh(); ExercicioDAL dal = new ExercicioDAL(); NotaDAL dalnota = new NotaDAL(); Nota n = new Nota(); n = dal.Corrigir(Resolvido, Gabarito); dalnota.Inserir(n); DesempenhoDAL daldesempenho = new DesempenhoDAL(); ConteudoDAL dalconteudo = new ConteudoDAL(); Gabarito.Conteudo = dalconteudo.Consultar(Gabarito.Conteudo.ID); Desempenho desempenho = daldesempenho.Consultar(Gabarito.Conteudo.Materia.ID, Resolvido.Usuario); if (desempenho.ID == 0) { desempenho = new Desempenho { HorasEstudadas = 0, Materia = Gabarito.Conteudo.Materia, Porcentagem = 0, Usuario = new Usuario { ID = Resolvido.Usuario } }; daldesempenho.Inserir(desempenho); } else { daldesempenho.Alterar(desempenho); } Form frm = new Form_ExibirNota(dalnota.ConsultarUltimo(UsuarioAtual.ID, Gabarito.ID)); frm.ShowDialog(); LimparCampos(); } catch { MessageBox.Show("Erro de Conexão, tente novamente", "Enigma", MessageBoxButtons.OK, MessageBoxIcon.Error); } Program.PanelCarregando.Visible = false; } processar = true; } }