Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
 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;
     }
 }