public void LancarNota(GabaritoProva respostas, Aluno aluno)
        {
            double valor = Gabarito.CalcularNota(respostas);

            NotaProva nota = new NotaProva(valor, aluno);

            LancarNota(nota);
        }
        public double CalcularNota(GabaritoProva respostas)
        {
            double quantidadeAcertos = 0;

            double valorQuestao = 10 / _questoes.Count;

            for (int i = 0; i < _questoes.Count; i++)
            {
                if (_questoes[i].Equals(respostas._questoes[i]))
                {
                    quantidadeAcertos++;
                }
            }

            return quantidadeAcertos * valorQuestao;
        }
 public Prova(DateTime data, GabaritoProva gabarito)
     : this(data)
 {
     this.Gabarito = gabarito;
 }
        private Prova ConverterProva(IDataReader reader)
        {
            int id = Convert.ToInt32(reader["ID"]);
            DateTime data = Convert.ToDateTime(reader["DATA"]);
            string assunto = Convert.ToString(reader["ASSUNTO"]);

            FeedbackEnum feedback;
            Enum.TryParse(reader["FEEDBACK_REALIZADO"].ToString(), out feedback);

            GabaritoProva gabarito = new GabaritoProva(Convert.ToString(reader["GABARITO"]));

            Prova prova = new Prova(data, gabarito);
            prova.Id = id;
            prova.Feedback = feedback;
            prova.Assunto = assunto;

            return prova;
        }