예제 #1
0
        public void GerarCompetidores()
        {
            List <Alunos> alunos       = new List <Alunos>();
            var           boletins     = data.BuscacaBoletimAlunos();
            var           competidores = boletins.OrderByDescending(media => media.MediaAluno).Take(5).ToList();

            foreach (var item in competidores)
            {
                var comp = data.BuscaProvasCompetidores().Where(p => p.Aluno.IdAluno == item.Aluno.IdAluno).FirstOrDefault();

                if (comp == null)
                {
                    var    nota      = Calculo.gerarNota();
                    Provas provaComp = new Provas(nota, "competicao", item.Aluno);
                    item.Aluno.Prova.Add(provaComp);

                    alunos.Add(item.Aluno);
                }
            }

            if (data.BuscCompeticao() == null)
            {
                var compet = new Competicao(alunos);
                data.AddCompetidores(compet);
            }
        }
예제 #2
0
        private void btnAgendarProva_Click(object sender, EventArgs e)
        {
            DateTime data = DateTime.MinValue;

            DateTime.TryParse(dtpDataProva.Text, out data);
            DateTime hora = DateTime.MinValue;

            DateTime.TryParse(dtpHoraProva.Text, out hora);

            if (data == DateTime.MinValue)
            {
                MessageBox.Show("Data inválida.", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else if (hora == DateTime.MinValue)
            {
                MessageBox.Show("Hora inválida.", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                DateTime dataHora = DateTime.ParseExact(data.ToShortDateString() + " " + hora.ToShortTimeString(), "dd/MM/yyyy HH:mm", null);

                Provas.Add(new EncomendaProva {
                    Data = dataHora
                });
            }

            AtualizarGridProvas();
        }
예제 #3
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            Provas provas = await db.Provas.FindAsync(id);

            db.Provas.Remove(provas);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
예제 #4
0
        private void AtualizarGridProvas()
        {
            dgvProva.DataSource = (from p in Provas select new { Data = p.Data, Id = p.Id }).ToList();

            if (Provas.Any())
            {
                dgvProva.Columns["Data"].DisplayIndex         = 0;
                dgvProva.Columns["ExcluirProva"].DisplayIndex = 1;
            }
        }
예제 #5
0
        public void LerArquivo()
        {
            using (var lerAquivo = new StreamReader("nome3.csv"))
            {
                while (!lerAquivo.EndOfStream)
                {
                    var linha = lerAquivo.ReadLine().Split(";");

                    var nTurma    = int.Parse(linha[0]);
                    var nomeAluno = linha[1];
                    var notaA     = double.Parse(linha[2], CultureInfo.InvariantCulture);
                    var notaB     = double.Parse(linha[3], CultureInfo.InvariantCulture);
                    var notaC     = double.Parse(linha[4], CultureInfo.InvariantCulture);


                    var turma = data.BuscarTurma(nTurma);

                    if (turma == null)
                    {
                        Turmas novaTurma = new Turmas(nTurma);
                        Alunos alu       = new Alunos(nomeAluno, novaTurma, new List <Provas>());

                        Provas prova1 = new Provas(notaA, "bimestral", alu);
                        Provas prova2 = new Provas(notaB, "bimestral", alu);
                        Provas prova3 = new Provas(notaC, "bimestral", alu);


                        alu.Prova.Add(prova1);
                        alu.Prova.Add(prova2);
                        alu.Prova.Add(prova3);
                        novaTurma.alunos.Add(alu);
                        data.AddTurmas(novaTurma);
                    }
                    else
                    {
                        var alunos = data.BuscarAluno(nomeAluno);
                        if (alunos == null)
                        {
                            Alunos al     = new Alunos(nomeAluno, turma, new List <Provas>());
                            Provas provaA = new Provas(notaA, "bimestral", al);
                            Provas provaB = new Provas(notaB, "bimestral", al);
                            Provas provaC = new Provas(notaC, "bimestral", al);


                            al.Prova.Add(provaA);
                            al.Prova.Add(provaB);
                            al.Prova.Add(provaC);

                            data.AddAluno(al);
                        }
                    }
                }
            }
        }
예제 #6
0
        public async Task <ActionResult> Edit([Bind(Include = "ID,DataProva,Tipo,Local,EscolaFK")] Provas provas)
        {
            if (ModelState.IsValid)
            {
                db.Entry(provas).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.EscolaFK = new SelectList(db.Escolas, "ID", "Nome", provas.EscolaFK);
            return(View(provas));
        }
예제 #7
0
 private void dgvProva_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.ColumnIndex == indexColunaCancelar)
     {
         Provas.RemoveAt(e.RowIndex);
     }
     else
     {
         txtAnotacaoProva.Text  = Provas.ElementAt(e.RowIndex).Anotacao;
         indexItemProvaEditando = e.RowIndex;
     }
     AtualizarGridProvas();
 }
예제 #8
0
        public List <AlunosCompeticao> BuscarCompetidores()
        {
            var competidores = AlunosEmCompeticao();

            foreach (var item in competidores)
            {
                var notaComp = Calculo.gerarNota();
                var prova    = new Provas(notaComp, "competicao");
                item.AddProva(prova);
                competicao.Add(new AlunosCompeticao(item.Provas, item.Nome, notaComp));
            }

            return(competicao);
        }
예제 #9
0
        // GET: Provas/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Provas provas = await db.Provas.FindAsync(id);

            if (provas == null)
            {
                return(HttpNotFound());
            }
            return(View(provas));
        }
예제 #10
0
        // GET: Provas/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Provas provas = await db.Provas.FindAsync(id);

            if (provas == null)
            {
                return(HttpNotFound());
            }
            ViewBag.EscolaFK = new SelectList(db.Escolas, "ID", "Nome", provas.EscolaFK);
            return(View(provas));
        }
예제 #11
0
        public List <Turmas> LerArquivo()
        {
            using (var lerAquivo = new StreamReader("nome.csv"))
            {
                while (!lerAquivo.EndOfStream)
                {
                    var linha = lerAquivo.ReadLine().Split(";");

                    var nTurma    = linha[0];
                    var nomeAluno = linha[1];
                    var notaA     = double.Parse(linha[2], CultureInfo.InvariantCulture);
                    var notaB     = double.Parse(linha[3], CultureInfo.InvariantCulture);
                    var notaC     = double.Parse(linha[4], CultureInfo.InvariantCulture);


                    Provas prova1 = new Provas(notaA, "bimestral");
                    Provas prova2 = new Provas(notaB, "bismetral");
                    Provas prova3 = new Provas(notaC, "bimestral");

                    Alunos aluno = new Alunos(new List <Provas>(), nomeAluno);

                    aluno.AddProva(prova1);
                    aluno.AddProva(prova2);
                    aluno.AddProva(prova3);

                    var turma = turmas.Find(p => p.IdTurma == nTurma);

                    if (turma == null)
                    {
                        Turmas turma1 = new Turmas(new List <Alunos>(), nTurma);
                        turma1.AddAluno(aluno);
                        turmas.Add(turma1);
                    }
                    else
                    {
                        var aluno1 = turma.alunos.Find(prop => prop.Nome == nomeAluno);
                        if (aluno != null)
                        {
                            turma.AddAluno(aluno);
                        }
                    }
                }
            }
            return(turmas);
        }
예제 #12
0
        public void VerificarAprovados()
        {
            foreach (var aluno in data.BuscarAlunos())
            {
                var media   = Calculo.veriricarMedia(aluno.Prova);
                var boletim = data.BuscaBoletimAluno(aluno.IdAluno);

                if (boletim == null)
                {
                    if (media > 6.0)
                    {
                        data.AddBoletim(new BoletimAluno(true, media, aluno));
                    }
                    else
                    {
                        if (media >= 0 && media <= 4)
                        {
                            data.AddBoletim(new BoletimAluno(false, media, aluno));
                        }
                        else
                        {
                            var    notaRecuperacao = Calculo.gerarNota();
                            var    novaMedia       = Math.Round(notaRecuperacao / 2, 2);
                            Provas p = new Provas(novaMedia, "recuperacao", aluno);
                            p.Nota = notaRecuperacao;
                            data.AddProva(p);


                            if (novaMedia >= 5.0)
                            {
                                data.AddBoletim(new BoletimAluno(true, novaMedia, aluno));
                            }
                            else
                            {
                                data.AddBoletim(new BoletimAluno(false, novaMedia, aluno));
                            }
                        }
                    }
                }
            }
        }
예제 #13
0
        public void VerificarAprovados()
        {
            var turmas = arquivo.LerArquivo();

            foreach (var turma in turmas)
            {
                foreach (var aluno in turma.alunos)
                {
                    var media = Calculo.veriricarMedia(aluno.Provas);

                    if (media > 6)
                    {
                        aprovados.Add(new AlunosAprovados(aluno.Provas, aluno.Nome, media));
                    }
                    else
                    {
                        if (media > 4 && media < 6)
                        {
                            var    notaRecuperacao = Calculo.gerarNota();
                            var    novaMedia       = (media + notaRecuperacao) / 2;
                            Provas p = new Provas(novaMedia, "recuperacao");
                            p.Nota = notaRecuperacao;
                            aluno.AddProva(p);
                            if (novaMedia >= 5)
                            {
                                aprovados.Add(new AlunosAprovados(aluno.Provas, aluno.Nome, novaMedia));
                            }
                            else
                            {
                                reprovados.Add(new AlunosReprovados(aluno.Provas, aluno.Nome, novaMedia));
                            }
                        }
                    }
                }
            }
        }
예제 #14
0
 private void btnSalvarAnotacao_Click(object sender, EventArgs e)
 {
     Provas.ElementAt(indexItemProvaEditando).Anotacao = txtAnotacaoProva.Text;
     indexItemProvaEditando = -1;
     txtAnotacaoProva.Text  = string.Empty;
 }
예제 #15
0
 public void AddProva(Provas prova)
 {
     context.Provas.Add(prova);
     context.SaveChanges();
 }