public void Avaliar(Prova prova) { if (!prova.Notas.Any()) throw new InvalidOperationException("Não é possível avaliar uma prova sem notas"); double somaNotas = 0; foreach (NotaProva nota in prova.Notas) { if (nota.Valor > _maiorNota) { _maiorNota = nota.Valor; } if (nota.Valor < _menorNota) { _menorNota = nota.Valor; } somaNotas += nota.Valor; } CalcularMedia(prova.Notas.Count, somaNotas); PioresNotas = ObtemPioresNotas(prova); }
private List<NotaProva> ObtemPioresNotas(Prova prova) { return prova.Notas .OrderBy(x => x.Valor) .ToList() .GetRange(0, prova.Notas.Count < 3 ? prova.Notas.Count : 3 ); }
public ProvaDataBuilder Sobre(string assunto) { prova = new Prova( DateTime.Now ); prova.Assunto = assunto; return this; }
public void Atualizar(Prova prova) { Prova provaEncontrada = _provas.Find(x => x.Id == prova.Id); provaEncontrada.Assunto = prova.Assunto; provaEncontrada.Data = prova.Data; provaEncontrada.Feedback = prova.Feedback; provaEncontrada.Gabarito = prova.Gabarito; }
public void Salvar(Prova prova) { string sqlProvas = "INSERT INTO TBPROVA (DATA, ASSUNTO, FEEDBACK_REALIZADO, GABARITO) VALUES ({0}DATA, {0}ASSUNTO, {0}FEEDBACK_REALIZADO, {0}GABARITO)"; prova.Id = Db.Insert(sqlProvas, ParametrosProva(prova)); string sqlNotas = "INSERT INTO TBNOTA (ID_PROVA, ID_ALUNO, VALOR) VALUES ({0}ID_PROVA, {0}ID_ALUNO, {0}VALOR) "; foreach (NotaProva nota in prova.Notas) { nota.Prova = prova; Db.Insert(sqlNotas, ParametrosNota(nota)); } }
public void Salvar(Prova prova) { _provas.Add(prova); }
private object[] ParametrosProva(Prova prova) { return new Object[] { "ID", prova.Id, "DATA", prova.Data, "ASSUNTO", prova.Assunto, "FEEDBACK_REALIZADO", (int)prova.Feedback, "GABARITO", prova.Gabarito == null ? "" : prova.Gabarito.ToString() }; }
public virtual void Atualizar(Prova prova) { string sql = "UPDATE TBPROVA SET DATA={0}DATA, ASSUNTO={0}ASSUNTO, FEEDBACK_REALIZADO={0}FEEDBACK_REALIZADO, GABARITO={0}GABARITO WHERE ID={0}ID"; Db.Update(sql, ParametrosProva(prova)); }
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; }