public void Deveria_arredondar_a_media_pra_meio_ponto_caso_os_decimais_seja_menor_que_75() { prova = new ProvaDataBuilder().Sobre("Portugues").ComNotaDe(maria, 5) .ComNotaDe(jose, 8).ComNotaDe(joao, 10).Build(); avaliador.Avaliar(prova); Assert.AreEqual(7.5, avaliador.ObtemMedia()); }
public void Deveria_receber_um_lancamento_de_nota() { Prova prova = new Prova(DateTime.Now); prova.LancarNota(new NotaProva(10, new Aluno(1, "Rech"))); prova.Notas.Should().HaveCount(1); prova.Notas[0].Valor.Should().Be(10); }
public void Nao_deveria_lancar_2_notas_para_o_mesmo_aluno() { Prova prova = new Prova(DateTime.Now); prova.LancarNota(new NotaProva(10, new Aluno(1, "Rech"))); prova.LancarNota(new NotaProva(10, new Aluno(1, "Rech"))); prova.Notas.Should().HaveCount(1); prova.Notas[0].Valor.Should().Be(10); }
public void Nao_deveria_lancar_nota_para_alunos_reprovados_por_falta() { Prova prova = new Prova(DateTime.Now); prova.LancarNota(new NotaProva(10, new Aluno(1, "Rech") { Faltas = 6 })); prova.LancarNota(new NotaProva(9, new Aluno(2, "Carla"))); prova.Notas.Should().HaveCount(1); prova.Notas[0].Valor.Should().Be(9); }
public void Deveria_receber_varios_lancamentos_de_notas() { Prova prova = new Prova(DateTime.Now); prova.LancarNota(new NotaProva(10, new Aluno(1, "Rech"))); prova.LancarNota(new NotaProva(10, new Aluno(2, "Carla"))); prova.Notas.Should().HaveCount(2); prova.Notas[0].Valor.Should().Be(10); prova.Notas[1].Valor.Should().Be(10); }
public void Deveria_avaliar_notas_ordem_crescente() { prova = new ProvaDataBuilder().Sobre("Portugues").ComNotaDe(maria, 5) .ComNotaDe(jose, 8).ComNotaDe(joao, 10).Build(); avaliador.Avaliar(prova); Assert.AreEqual(10, avaliador.ObtemMaiorNota()); Assert.AreEqual(5, avaliador.ObtemMenorNota()); }
public void AtualizarProva(Prova prova) { Hashtable parametros = this.BuildParametrosProva(prova); this.AtualizarObjetoPorNomeQuery("atualizarProva", parametros); }
private Prova RecuperaObjeto(MySqlDataReader dr) { Prova prova = new Prova(); prova.id = CastDB<int>(dr, "id_Prova"); prova.titulo = CastDB<string>(dr, "titulo"); prova.src = CastDB<byte[]>(dr, "src"); prova.descricao = CastDB<string>(dr, "descricao"); prova.tipo = new TipoProva() { id = CastDB<int>(dr, "id_Tipo_Prova"), nome = CastDB<string>(dr, "nm_Tipo_Prova") }; prova.usuario = new Usuario() { id = CastDB<int>(dr, "id_Usuario"), nome = CastDB<string>(dr, "nm_Usuario") }; prova.turma = new Turma() { id = CastDB<int>(dr, "id_Turma") }; prova.recomendadoMonitor = CastDB<bool>(dr, "aval_Monitor"); prova.recomendadoProfessor = CastDB<bool>(dr, "aval_Professor"); prova.avaliacao = CastDB<int>(dr, "nota"); return prova; }
public int InserirProva(Prova prova) { ProvaBusinessFacade provaBusinessFacade = BusinessFactory.GetInstance().Get<ProvaBusinessFacade>(); return provaBusinessFacade.InserirProva(prova); }
public void Editar(Prova prova) { Db.Update(_sqlUpdate, Take2(prova)); }
public List <Prova> GetByNome(Prova prova) { return(Db.GetAll(_sqlSelectNome, MakeByNome, Take2(prova))); }
public void Deveria_retornar_todas_as_notas_caso_nao_haja_no_minimo_3() { prova = new ProvaDataBuilder().Sobre("Portugues").ComNotaDe(joao, 1).ComNotaDe(jose, 2).Build(); avaliador.Avaliar(prova); Assert.AreEqual(2, avaliador.PioresNotas.Count); Assert.AreEqual(1, avaliador.PioresNotas[0].Valor); Assert.AreEqual(2, avaliador.PioresNotas[1].Valor); }
public void Deveria_calcular_media_das_notas_na_prova() { prova = new ProvaDataBuilder().Sobre("Portugues") .ComNotaDe(maria, 7).ComNotaDe(jose, 10).ComNotaDe(joao, 4) .Build(); avaliador.Avaliar(prova); Assert.AreEqual(7, avaliador.ObtemMedia()); }
public void Seed() { if (_contexto.Alunos.Any() || _contexto.Turmas.Any() || _contexto.Provas.Any()) { return; // O banco de dados já foi populado } Turma t1 = new Turma(1, "1001"); Turma t2 = new Turma(2, "1002"); Turma t3 = new Turma(3, "1003"); _contexto.Turmas.AddRange(t1, t2, t3); // _contexto.SaveChanges(); Aluno[] alunos = new Aluno[60]; alunos[0] = new Aluno(1, "Amandio Dâmaso", t1); alunos[1] = new Aluno(2, "André Torcuato", t1); alunos[2] = new Aluno(3, "Angelino Sousa de Arronches", t1); alunos[3] = new Aluno(4, "Aníbal Estrella", t1); alunos[4] = new Aluno(5, "Duarte Cintra", t1); alunos[5] = new Aluno(6, "Délia Cardozo", t1); alunos[6] = new Aluno(7, "Honório Norões", t1); alunos[7] = new Aluno(8, "Justino González", t1); alunos[8] = new Aluno(9, "Júlia Padilha", t1); alunos[9] = new Aluno(10, "Mamede Saraíba", t1); alunos[10] = new Aluno(11, "Mateus Jordão", t1); alunos[11] = new Aluno(12, "Miru Ribas", t1); alunos[12] = new Aluno(13, "Rita Salomão", t1); alunos[13] = new Aluno(14, "Roberta Rolim", t1); alunos[14] = new Aluno(15, "Romano Bulhosa", t1); alunos[15] = new Aluno(16, "Salomé Ferraz", t1); alunos[16] = new Aluno(17, "Salvador Imbassaí", t1); alunos[17] = new Aluno(18, "Sílvia Amado", t1); alunos[18] = new Aluno(19, "Tadeu Frois", t1); alunos[19] = new Aluno(20, "Trajano Mirandela", t1); alunos[20] = new Aluno(21, "Zuleica Rua", t2); alunos[21] = new Aluno(22, "Érico Severiano", t2); alunos[22] = new Aluno(23, "Vânia Souto Maior", t2); alunos[23] = new Aluno(24, "Virgínia Mirandela", t2); alunos[24] = new Aluno(25, "Vanderlei Casado", t2); alunos[25] = new Aluno(26, "Tarrataca Vilar", t2); alunos[26] = new Aluno(27, "Silvana Santarém", t2); alunos[27] = new Aluno(28, "Rui Vega", t2); alunos[28] = new Aluno(29, "Rosa Balsemão", t2); alunos[29] = new Aluno(30, "Ronaldo Ulhoa", t2); alunos[30] = new Aluno(31, "Ramão Coitinho", t2); alunos[31] = new Aluno(32, "Patrícia Anlicoara", t2); alunos[32] = new Aluno(33, "Parcidio Núñez", t2); alunos[33] = new Aluno(34, "Palmira Souto", t2); alunos[34] = new Aluno(35, "Osvaldo Fartaria", t2); alunos[35] = new Aluno(36, "Oscar Anlicoara", t2); alunos[36] = new Aluno(37, "Odilia Severiano", t2); alunos[37] = new Aluno(38, "Mercedes Bonilla", t2); alunos[38] = new Aluno(39, "Mateus Pêssego", t2); alunos[39] = new Aluno(40, "Luciano Torres", t2); alunos[40] = new Aluno(41, "Luciana Caiado", t3); alunos[41] = new Aluno(42, "Leónidas Zarco", t3); alunos[42] = new Aluno(43, "Judite Regueira", t3); alunos[43] = new Aluno(44, "Judas Ferreira", t3); alunos[44] = new Aluno(45, "Josefina Vigário", t3); alunos[45] = new Aluno(46, "Jeremias Estrella", t3); alunos[46] = new Aluno(47, "Hermano Collaço", t3); alunos[47] = new Aluno(48, "Estefânia Sequeira", t3); alunos[48] = new Aluno(49, "Domingos Clementino", t3); alunos[49] = new Aluno(50, "Crispim Torquato", t3); alunos[50] = new Aluno(51, "Cleusa Sant'Anna", t3); alunos[51] = new Aluno(52, "Celina Nunes", t3); alunos[52] = new Aluno(53, "Casimiro Mendonça", t3); alunos[53] = new Aluno(54, "Carlos Caminha", t3); alunos[54] = new Aluno(55, "Caetana Veríssimo", t3); alunos[55] = new Aluno(56, "Berengário Salgado", t3); alunos[56] = new Aluno(57, "Belmiro Sacadura", t3); alunos[57] = new Aluno(58, "Belmiro Carvalho", t3); alunos[58] = new Aluno(59, "Belmifer Beserril", t3); alunos[59] = new Aluno(60, "Amílcar Soeiro", t3); for (int i = 0; i < 60; i++) { _contexto.Alunos.Add(alunos[i]); Random random = new Random(); double nota = random.Next(0, 101) / 10.0; Prova p1 = new Prova(TipoProvaEnum.P1, nota, alunos[i]); nota = random.Next(0, 101) / 10.0; Prova p2 = new Prova(TipoProvaEnum.P2, nota, alunos[i]); nota = random.Next(0, 101) / 10.0; Prova p3 = new Prova(TipoProvaEnum.P3, nota, alunos[i]); _contexto.Provas.AddRange(p1, p2, p3); } _contexto.SaveChanges(); }
public async Task <int> AdicionarProvaAsync(ProvaInputData provaInputData, string login) { var aluno = _alunoRepository.ObterPorLogin(login); var avaliacao = await _avaliacaoRepository.ObterComQuestoresAsync(provaInputData.AvaliacaoId); Prova prova = new Prova(); prova.AlunoId = aluno.Id; prova.AvaliacaoId = provaInputData.AvaliacaoId; prova.DataProva = DateTime.Now; prova.Aluno = aluno; prova.Avaliacao = avaliacao; foreach (var questao in provaInputData.Questoes) { //prova.QuestoesProva = new List<QuestaoProva>(); var questaoProva = new QuestaoProva() { QuestaoId = questao.QuestaoId }; prova.QuestoesProva = new List <QuestaoProva>(); prova.QuestoesProva.Add(questaoProva); foreach (var opcao in questao.Opcoes) { //questaoProva.OpcoesProva = new List<OpcaoProva>(); var opcaoProva = new OpcaoProva() { OpcaoAvaliacaoId = opcao.OpcaoAvaliacaoId, Resposta = opcao.Resposta }; questaoProva.OpcoesProva = new List <OpcaoProva>(); questaoProva.OpcoesProva.Add(opcaoProva); } } //var avaliacao = await _avaliacaoRepository.ObterComQuestoresAsync(provaInputData.AvaliacaoId); foreach (var questao in prova.QuestoesProva) { var questaoAvaliacao = avaliacao.Questoes.Find(y => y.Id == questao.QuestaoId); if (questaoAvaliacao.Tipo == 1) { var idVerdadeira = questaoAvaliacao.Opcoes.Find(x => x.Verdadeira).Id; questao.Nota = questao.OpcoesProva.Find(y => y.OpcaoAvaliacaoId == idVerdadeira && y.Resposta) == null ? 0 : 1; } if (questaoAvaliacao.Tipo == 2) { var respostas = 0; foreach (var opcoes in questao.OpcoesProva) { if (opcoes.Resposta == questaoAvaliacao.Opcoes.Find(x => x.Id == opcoes.OpcaoAvaliacaoId).Verdadeira) { respostas++; } } if (respostas != 0) { questao.Nota = (decimal)respostas / (decimal)questaoAvaliacao.Opcoes.Count; } else { questao.Nota = respostas; } } } avaliacao.Provas = new List <Prova>(); _provaRepository.Adicionar(prova); await _provaRepository.SaveChangesAsync(); return(prova.Id); }
public async Task <int> SalvarProvaAsync(ProvaQueryResult prova, string login) { var aluno = await _alunoRepository.ObterPorLogin(login); if (aluno == null) { throw new Exception("O aluno não foi localizado!"); } var publicacao = await _publicacaoRepository.ObterComRelacoesAsync(prova.PublicacaoId); if (publicacao == null) { throw new Exception("A publicacao não foi localizada!"); } if (publicacao.DataInicio >= DateTime.Now || publicacao.DataFim <= DateTime.Now) { throw new Exception("Prova fora da data de realização!"); } if (!publicacao.Turma.Alunos.Select(a => a.Id).ToList().Contains(aluno.Id)) { throw new Exception("Publicação não disponível para esse aluno!"); } var Novaprova = new Prova() { IdAluno = aluno.Id, IdPublicacao = publicacao.Id, IdAvaliacao = publicacao.IdAvaliacao, CriadoEm = DateTime.Now, AtualizadoEm = DateTime.Now, Questoes = prova.Questoes.Select(q => new ProvaQuestao { IdAvaliacaoQuestao = q.QuestaoId, IdProva = 0, Nota = 0, AtualizadoEm = DateTime.Now, CriadoEm = DateTime.Now, }).ToList() }; Avaliacao av = publicacao.Avaliacao; for (int i = 0; i < av.Questoes.Count; i++) { Novaprova.Questoes[i].Opcoes = new List <ProvaOpcao>(); if (av.Questoes[i].Tipo == 1) { for (int j = 0; j < av.Questoes[i].Opcoes.Count; j++) { AvaliacaoOpcao op = av.Questoes[i].Opcoes[j]; OpcaoProvaQueryResult opResposta = prova.Questoes[i].Opcoes[j]; Novaprova.Questoes[i].Opcoes.Add(new ProvaOpcao { IdAvaliacaoOpcao = opResposta.OpcaoAvaliacaoId, Resposta = opResposta.Resposta }); if (op.Resposta == opResposta.Resposta) { Novaprova.Questoes[i].Nota = 1; } } } else { double valorOpcao = 1.0 / av.Questoes[i].Opcoes.Count(); for (int j = 0; j < av.Questoes[i].Opcoes.Count; j++) { AvaliacaoOpcao op = av.Questoes[i].Opcoes[j]; OpcaoProvaQueryResult opResposta = prova.Questoes[i].Opcoes[j]; Novaprova.Questoes[i].Opcoes.Add(new ProvaOpcao { IdAvaliacaoOpcao = opResposta.OpcaoAvaliacaoId, Resposta = opResposta.Resposta }); if (op.Resposta == opResposta.Resposta) { Novaprova.Questoes[i].Nota += valorOpcao; } } } } _provaRepository.Adicionar(Novaprova); await _provaRepository.SaveChangesAsync(); return(Novaprova.Id); }
private void LimparDadosTela() { disciplinas = new List <Disciplina>(); turmas = new List <Turma>(); provaFixa = new Prova(); }
/// <summary> /// Metodo costruttore dell'esercizio della prova. /// </summary> /// <param name="esercizio">Esercizio relativo all'esercizio della prova.</param> /// <param name="prova">Prova relativa all'esercizio della prova.</param> public EsercizioProva(Esercizio esercizio, Prova prova) { EsercizioId = esercizio.Id; ProvaId = prova.Id; }
public void AtualizarProva(Prova prova) { ProvaBusinessFacade provaBusinessFacade = BusinessFactory.GetInstance().Get<ProvaBusinessFacade>(); provaBusinessFacade.AtualizarProva(prova); }
public int InserirProva(Prova prova) { Hashtable parametrosProva = this.BuildParametrosProva(prova); int idProva = this.InserirObjetoPorNomeQueryERetornarId("inserirProva", parametrosProva); return idProva; }
public void Deveria_avaliar_prova_com_apenas_uma_nota() { prova = new ProvaDataBuilder() .Sobre("Portugues").ComNotaDe(maria, 8).Build(); avaliador.Avaliar(prova); Assert.AreEqual(8, avaliador.ObtemMaiorNota()); Assert.AreEqual(8, avaliador.ObtemMenorNota()); }
public Task <Prova> Post([FromBody] Prova prova) { return(_service.Save(prova)); }
public void Deveria_retornar_as_3_piores_notas() { prova = new ProvaDataBuilder().Sobre("Portugues").ComNotaDe(maria, 5) .ComNotaDe(jose, 1).ComNotaDe(joao, 2).ComNotaDe(maria, 4) .ComNotaDe(pedro, 3).ComNotaDe(luis, 3) .ComNotaDe(rafael, 6).Build(); avaliador.Avaliar(prova); avaliador.PioresNotas.Should().HaveCount(3); avaliador.PioresNotas[0].Valor.Should().Be(1); avaliador.PioresNotas[1].Valor.Should().Be(2); avaliador.PioresNotas[2].Valor.Should().Be(3); }
public AlterarEscalacao(Prova prova, int ano) { InitializeComponent(); _vm = new AlterarEscalacaoVM(this, prova, ano); this.DataContext = _vm; }
public void Nao_deveria_avaliar_prova_sem_lancamento_de_notas() { prova = new ProvaDataBuilder().Sobre("Portugues").Build(); Action sut = () => avaliador.Avaliar(prova); sut.ShouldThrow<InvalidOperationException>(); }
public Task <Prova> Save(Prova prova) { return(_repository.Save(prova)); }
public static List <RespostasAluno> BuscarRespostasPorProvaId(int ProvaID) { Prova prova = ProvaDAO.BuscarProvaId(ProvaID); return(prova.RespostasAlunos); }
private Hashtable BuildParametrosProva(Prova prova) { Hashtable parametros = new Hashtable(); parametros.Add("ID", prova.id); parametros.Add("TITULO", prova.titulo); parametros.Add("DESCRICAO", prova.descricao); parametros.Add("SRC", prova.src); parametros.Add("ID_USUARIO", prova.usuario.id); parametros.Add("ID_TURMA", prova.turma.id); parametros.Add("ID_TIPO_PROVA", prova.tipo.id); return parametros; }
public async Task <IActionResult> Post([FromBody] PeriodoDTO request) { try { // qtd aluno criar os aluno, criar as turmas e associar eles a um periodo var listaMateria = new List <Materia>(); var listaTurma = new List <Turma>(); var random = new Random(); //Criação de Matérias na quantidade recebida for (int m = 0; m < request.QuantidadeMaterias; m++) { Materia materia = new Materia(); var mt = (char)random.Next('A', 'Z'); materia.NomeMateria = mt.ToString(); listaMateria.Add(materia); } //Criação de Turma na quantidade recebida for (int i = 0; i < request.QuantidadeTurmas; i++) { Turma turma = new Turma(); var nt = (char)random.Next('A', 'Z'); turma.NomeTurma = nt.ToString(); // Pegar aleatoriamente uma materia de listaMateria var m = random.Next(0, request.QuantidadeMaterias - 1); turma.Materia = listaMateria[m]; //Criação de Alunos na quantidade recebida for (int j = 0; j < request.QuantidadeAlunos; j++) { Aluno aluno = new Aluno(); TurmaAluno turmaAluno = new TurmaAluno(); var na = (char)random.Next('A', 'Z'); aluno.NomeAluno = na.ToString(); var acumulaPeso = 0; //cria 3 provas pro aluno for (int k = 1; k < 4; k++) { Prova prova = new Prova(); prova.Nota = random.Next(0, 10); prova.Peso = random.Next(1, 3); prova.OrdemProva = k; acumulaPeso += prova.Peso; turmaAluno.Provas.Add(prova); } // média = ((Nota1*Peso1)+(Nota2*Peso2)+(Nota3*Peso3))/acumulaPeso turmaAluno.Media = ((turmaAluno.Provas.First().Nota) * (turmaAluno.Provas.First().Peso) + (turmaAluno.Provas.Skip(1).First().Nota) * (turmaAluno.Provas.Skip(1).First().Peso) + (turmaAluno.Provas.Skip(2).First().Nota) * (turmaAluno.Provas.Skip(2).First().Peso)) / acumulaPeso; //testa se ele vai pra prova final if (turmaAluno.Media > 4 && turmaAluno.Media < 6) { Prova provaFinal = new Prova(); provaFinal.Nota = random.Next(0, 10); provaFinal.Peso = 1; provaFinal.OrdemProva = 4; turmaAluno.Media = (turmaAluno.Media + provaFinal.Nota) / 2; turmaAluno.Provas.Add(provaFinal); } if (turmaAluno.Media < 5) { aluno.Situacao = "Reprovado"; } if (turmaAluno.Media >= 5) { aluno.Situacao = "Aprovado"; } turmaAluno.Aluno = aluno; turmaAluno.Turma = turma; aluno.TurmaAlunos.Add(turmaAluno); turma.TurmaAlunos.Add(turmaAluno); } listaTurma.Add(turma); } Periodo periodo = new Periodo(); periodo.Materias = listaMateria; periodo.Turmas = listaTurma; periodo.NomePeriodo = request.NomePeriodo; _repo.Add(periodo); await _repo.SaveChangesAsync(); } catch (System.Exception e) { throw e; } return(Ok()); }
public void SalvarProva(ProvaInputData provaInputData, string login) { //Registro aluno - 1 var aluno = _alunoRepository.ObterPorLogin(login); var avaliacao = _avaliacaoRepository.ObterAvalicao(provaInputData.AvaliacaoId); //var questoeProva = _questaoRepository.Consultar(x => x.ProvaId == provaInputData.AvaliacaoId).ToList(); //Objeto prova - 2 Prova prova = new Prova(); prova.DataProva = DateTime.Now; prova.AvaliacaoId = provaInputData.AvaliacaoId; prova.AlunoId = aluno.Id; prova.Aluno = aluno; prova.Avaliacao = avaliacao; foreach (var x in provaInputData.Questoes) { var questaoProva = new QuestaoProva() { QuestaoId = x.QuestaoId }; prova.QuestoesProva.Add(questaoProva); foreach (var y in x.Opcoes) { var opcaoProva = new OpcaoProva() { OpcaoAvaliacaoId = y.OpcaoAvaliacaoId, Resposta = y.Resposta }; questaoProva.OpcoesProva.Add(opcaoProva); } } //Calcula nota var avaliacaoTeste = _avaliacaoRepository.ObterComQuestoresAsync(provaInputData.AvaliacaoId); foreach (var x in prova.QuestoesProva) { var acertos = new List <OpcaoProva>(); var questaoAvaliacao = avaliacaoTeste.Result.Questoes.Find(y => y.Id == x.QuestaoId); if (questaoAvaliacao.Tipo == 1) { var idVerdadeira = questaoAvaliacao.Opcoes.Find(z => z.Verdadeira).Id; x.Nota = x.OpcoesProva.Find(y => y.OpcaoAvaliacaoId == idVerdadeira && y.Resposta) == null ? 0 : 1; } if (questaoAvaliacao.Tipo == 2) { var respostas = 0; foreach (var y in x.OpcoesProva) { if (y.Resposta == questaoAvaliacao.Opcoes.Find(s => s.Id == y.OpcaoAvaliacaoId).Verdadeira) { respostas++; } } if (respostas != 0) { x.Nota = (decimal)respostas / (decimal)questaoAvaliacao.Opcoes.Count; } else { x.Nota = respostas; } } } _provaRepository.Adicionar(prova); _provaRepository.SaveChanges(); }
public ActionResult Index(ProvaViewModel model) { if (ModelState.IsValid) { Prova prova = new Prova(); prova.Nome = model.Nome; prova.QtdQuestoes = model.QtdQuestoes; prova.ProfessorID = int.Parse(User.Identity.Name); prova.DataCriada = DateTime.Now.ToString(); prova.CodigoProva = "TEMP"; db.Prova.Add(prova); db.SaveChanges(); String codigoGerado = RandomString(3) + prova.ProvaID.ToString() + RandomString(3); prova.CodigoProva = codigoGerado; UpdateModel(prova); db.SaveChanges(); return RedirectToAction("Index"); } return View(); }
// POST api/values public void Post([FromBody] Prova value) { Console.Out.WriteLine(value); }