public List <AvaliacaoAluno> PegarDadosDaAvaliacaoAlunoPorAvaliacao(int avaliacaoId) { List <AvaliacaoAluno> avaliacoesDeAlunos = new List <AvaliacaoAluno>(); AvaliacaoAluno umaAvaliacaoDeAluno; //Conexão MySqlConnection db = Connection.getConnection(); try { MySqlCommand mySQLcmd = db.CreateCommand(); //setando a procedure do banco mySQLcmd.CommandType = CommandType.StoredProcedure; mySQLcmd.CommandText = "Carregar_AvaliacaoDoAluno_Por_Avaliacao"; mySQLcmd.Parameters.AddWithValue("LOC_AVALIACAO_ID", avaliacaoId); //execução sem retorno MySqlDataReader rsAvaliacao = mySQLcmd.ExecuteReader(); //se há linhas if (rsAvaliacao.HasRows) { //enquanto lê cada linha while (rsAvaliacao.Read()) { //criando um aluno para cada linha umaAvaliacaoDeAluno = new AvaliacaoAluno(); umaAvaliacaoDeAluno.setId(rsAvaliacao.GetInt32("id")); umaAvaliacaoDeAluno.SetDataRealizacao(rsAvaliacao.GetInt32("data_realizacao")); avaliacoesDeAlunos.Add(umaAvaliacaoDeAluno); } db.Close(); } else { //sem resultados } } catch (MySqlException ex) { throw new ExcecaoSAG("Erro ao listarCCC as avaliacoes por aluno. Código " + ex.ToString()); } catch (ExcecaoSAG ex) { throw ex; } finally { db.Close(); } //retorna a lista de alunos return(avaliacoesDeAlunos); }
public AvaliacaoAluno PegarDadosDaAvaliacaoAlunoDeUmAlunoEmUmaAvaliacao(int alunoId, int avaliacaoId) { AvaliacaoAluno avaliacaoAluno = new AvaliacaoAluno(); try { avaliacaoAluno = avaliacaoDAO.PegarDadosDaAvaliacaoAlunoDeUmAlunoEmUmaAvaliacao(alunoId, avaliacaoId); } catch (ExcecaoSAG ex) { throw new ExcecaoSAG(ex.getMsg()); } return(avaliacaoAluno); }
public int SetAvaliacao(AvaliacaoAluno avaliacao) { int n = 0; bool r = false; if (!avaliacao.AvaliarMaisTarde) { r = Int32.TryParse(avaliacao.Nota, out n); } var novaEntidade = new tblAvaliacaoAluno() { dteDataAtualizacao = DateTime.Now, intClientID = avaliacao.Matricula, intNota = r ? n : 0, txtComentario = avaliacao.Comentario, bitAvaliarMaisTarde = avaliacao.AvaliarMaisTarde, txtPlataforma = avaliacao.Plataforma, txtVersaoApp = avaliacao.VersaoApp, txtVersaoPlataforma = avaliacao.VersaoPlataforma, bitAtivo = true }; using (var ctx = new DesenvContext()) { var rodadaAtual = ctx.tblRodadaAvaliacao.OrderByDescending(x => x.dteDataCriacao).FirstOrDefault().intID; var entidade = ctx.tblAvaliacaoAluno.FirstOrDefault(x => x.intClientID == avaliacao.Matricula && x.intRodadaID == rodadaAtual); if (entidade == null) { novaEntidade.intRodadaID = rodadaAtual; ctx.tblAvaliacaoAluno.Add(novaEntidade); } else { entidade.intRodadaID = rodadaAtual; entidade.dteDataAtualizacao = DateTime.Now; entidade.intNota = r ? n : 0; entidade.txtComentario = avaliacao.Comentario; entidade.bitAvaliarMaisTarde = avaliacao.AvaliarMaisTarde; } return(ctx.SaveChanges()); } }
IEnumerator TrazendoDadosDoAlunoSelecionado() { //carrega a pergunta Avaliacao umaAvaliacao = new Avaliacao(); umaAvaliacao.SetId(selecionado); cadastroAvaliacao.Carregar(umaAvaliacao); yield return(umaAvaliacao); //carrega o aluno Aluno umAluno = new Aluno(); umAluno.SetId(EncontrarAlunoNaDropDownTrazendoId(alunosDD.options[alunosDD.value].text)); cadastroAluno.Carregar(umAluno); yield return(umAluno); //carrega a avaliacao do aluno AvaliacaoAluno umaAvaliacaoAluno = new AvaliacaoAluno(); umaAvaliacaoAluno = cadastroAvaliacao.PegarDadosDaAvaliacaoAlunoDeUmAlunoEmUmaAvaliacao(umAluno.GetId(), selecionado); yield return(umaAvaliacaoAluno); //carrega todos os temas de uma avaliacao temasDaAvaliacao = cadastroAvaliacao.ListarTemasDeUmaAvaliacao(selecionado); yield return(temasDaAvaliacao); //carregar todos os resultados das perguntas de todas as avaliacoes do aluno List <PerguntaDaAvaliacaoDoAluno> perguntaDaAvaliacao = new List <PerguntaDaAvaliacaoDoAluno>(); perguntaDaAvaliacao = cadastroAvaliacao.ListarPerguntasDeUmaAvaliacao(umaAvaliacaoAluno.getId()); yield return(perguntaDaAvaliacao); perguntasDosTemasAvaliacao.Clear(); //carregar todas as perguntas de todos os temas da avaliacao foreach (Tema tema in temasDaAvaliacao) { perguntasDosTemasAvaliacao.Add(cadastroPergunta.ListarTodosPorTema(tema.GetId())); //yield return perguntasDosTemasAvaliacao; } //contagem de resultados List <List <int> > resultados = new List <List <int> >(); for (int t = 0; t < temasDaAvaliacao.Count; t++) { List <int> colunas = new List <int>(); colunas.Add(0); colunas.Add(0); resultados.Add(colunas); List <Pergunta> perguntasPorTema = perguntasDosTemasAvaliacao[t]; //varrendo todas as perguntas de um aluno for (int i = 0; i < perguntaDaAvaliacao.Count; i++) { //varrendo as perguntas de um tema for (int j = 0; j < perguntasPorTema.Count; j++) { if (perguntaDaAvaliacao[i].getPerguntaId() == perguntasPorTema[j].GetId()) { resultados[t][0]++; if (perguntaDaAvaliacao[i].getCorreta()) { resultados[t][1]++; } } } } } string rel = ""; string relatorioCabecalho = "Descrição: {0}\n\nData de início: {1} Data de término: {2}\n\nNome: " + "{3}\nMatríclua: {4}\n\n"; relatorioCabecalho = string.Format(relatorioCabecalho, umaAvaliacao.GetDescricao(), FormatarData.FormatToString(umaAvaliacao.GetDataInicio()), FormatarData.FormatToString(umaAvaliacao.GetDataFim()), umAluno.GetNomeCompleto(), umAluno.GetMatricula()); string relatorioPorTema = ""; for (int i = 0; i < temasDaAvaliacao.Count; i++) { string s = "Tema {0}: {1}\nTotal de perguntas: {2}\nTotal de acertos: {3}\nDesempenho: {4}%\n\n"; float div = 100 * resultados[i][1] / resultados[i][0]; s = string.Format(s, i + 1, temasDaAvaliacao[i].GetNome(), resultados[i][0], resultados[i][1], (int)div); relatorioPorTema += s; } string relatorioRodape = "Desempenho Geral: {0}%\n\n"; int totalDeAcertos = 0, totalDePerguntas = 0; for (int i = 0; i < resultados.Count; i++) { totalDePerguntas += resultados[i][0]; totalDeAcertos += resultados[i][1]; } relatorioRodape = string.Format(relatorioRodape, (int)(totalDeAcertos * 100 / totalDePerguntas)); string relatorioComPerguntas = ""; for (int i = 0; i < perguntaDaAvaliacao.Count; i++) { for (int j = 0; j < perguntasDosTemasAvaliacao.Count; j++) { for (int l = 0; l < perguntasDosTemasAvaliacao[j].Count; l++) { if (perguntasDosTemasAvaliacao[j][l].GetId() == perguntaDaAvaliacao[i].getPerguntaId()) { string s = "Pergunta: {0}\nResultado: {1}\n"; string resultado = (perguntaDaAvaliacao[i].getCorreta()) ? "correta" : "errada"; s = string.Format(s, perguntasDosTemasAvaliacao[j][l].GetDescricao(), resultado); relatorioComPerguntas += s; } } } } rel += relatorioCabecalho; rel += relatorioPorTema; rel += relatorioRodape; rel += relatorioComPerguntas; relatorio.text = rel; }
public int SetAvaliacaoAluno(AvaliacaoAluno avaliacao) { return(new AvaliacaoAlunoEntity().SetAvaliacao(avaliacao)); }
public AvaliacaoAluno PegarDadosDaAvaliacaoAlunoDeUmAlunoEmUmaAvaliacao(int alunoId, int avaliacaoId) { AvaliacaoAluno umaAvaliacaoDeAluno = new AvaliacaoAluno(); //Conexão MySqlConnection db = Connection.getConnection(); try { MySqlCommand mySQLcmd = db.CreateCommand(); //setando a procedure do banco mySQLcmd.CommandType = CommandType.StoredProcedure; mySQLcmd.CommandText = "Carregar_AvaliacaoDoAluno_Por_AvaliacaoeAluno"; mySQLcmd.Parameters.AddWithValue("LOC_ALUNO_ID", alunoId); mySQLcmd.Parameters.AddWithValue("LOC_AVALIACAO_ID", avaliacaoId); //execução sem retorno MySqlDataReader rsAvaliacao = mySQLcmd.ExecuteReader(); //se há linhas if (rsAvaliacao.HasRows) { //enquanto lê cada linha while (rsAvaliacao.Read()) { //criando um aluno para cada linha umaAvaliacaoDeAluno.setId(rsAvaliacao.GetInt32("id")); umaAvaliacaoDeAluno.SetDataRealizacao(rsAvaliacao.GetInt32("data_realizacao")); //umaAvaliacaoDeAluno.SetTema1TotalDePerguntas(rsAvaliacao.GetInt32("tema1_totalperguntas")); //umaAvaliacaoDeAluno.SetTema1TotalDeAcertos(rsAvaliacao.GetInt32("tema1_totalacertos")); //umaAvaliacaoDeAluno.SetTema2TotalDePerguntas(rsAvaliacao.GetInt32("tema2_totalperguntas")); //umaAvaliacaoDeAluno.SetTema2TotalDeAcertos(rsAvaliacao.GetInt32("tema2_totalacertos")); //umaAvaliacaoDeAluno.SetTema3TotalDePerguntas(rsAvaliacao.GetInt32("tema3_totalperguntas")); //umaAvaliacaoDeAluno.SetTema3TotalDeAcertos(rsAvaliacao.GetInt32("tema3_totalacertos")); //umaAvaliacaoDeAluno.SetTema4TotalDePerguntas(rsAvaliacao.GetInt32("tema4_totalperguntas")); //umaAvaliacaoDeAluno.SetTema4TotalDeAcertos(rsAvaliacao.GetInt32("tema4_totalacertos")); } db.Close(); } else { //sem resultados } } catch (MySqlException ex) { throw new ExcecaoSAG("Erro ao listarEEEE as avaliacoes por aluno. Código " + ex.ToString()); } catch (ExcecaoSAG ex) { throw ex; } finally { db.Close(); } //retorna a lista de alunos return(umaAvaliacaoDeAluno); }