Exemplo n.º 1
0
        public ActionResult Chamada(int?discID, int?profID)
        {
            if (discID == null || profID == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Negocio_Disciplina disciplina = db.Negocio_Disciplina.Where(o => o.Disciplina_ID == discID && o.Funcionario_ID == profID).FirstOrDefault();

            if (disciplina == null)
            {
                return(HttpNotFound());
            }
            FrequenciaViewModel FVM = new FrequenciaViewModel();

            FVM.ProfessorID         = disciplina.Funcionario_ID;
            FVM.DisciplinaID        = disciplina.Disciplina_ID;
            FVM.MatriculasPresentes = disciplina.Negocio_Vinculo_Disciplina.Select(o => o.Matricula_ID);
            ICollection <ListaAlunosViewModel> mats = PopulateMatriculasList(disciplina);

            FVM.Matriculas = mats.Select(o => new SelectListItem
            {
                Value = o.MatriculaID.ToString(),
                Text  = o.NomeAluno,
            }).ToList();
            return(View(FVM));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Chamada([Bind(Include = "DisciplinaID, ProfessorID, DtAula, QtdeAulas, AulaMinistrada, Matriculas, MatriculasPresentes")] FrequenciaViewModel FVM)
        {
            if (ModelState.IsValid)
            {
                //Adicionando a Qtde de aulas dadas, ao Total Aulas Dadas
                Negocio_Disciplina disciplina = db.Negocio_Disciplina.Find(FVM.DisciplinaID);
                int totAula = disciplina.Tot_Aulas_Dadas.Value;
                disciplina.Tot_Aulas_Dadas = totAula + FVM.QtdeAulas;
                db.Entry(disciplina).State = EntityState.Modified;
                await db.SaveChangesAsync();

                Negocio_Frequencia frequencia;
                foreach (var al in FVM.MatriculasPresentes.ToList())
                {
                    //Salvando frequencia
                    frequencia = new Negocio_Frequencia();
                    frequencia.Disciplina_ID   = FVM.DisciplinaID;
                    frequencia.Funcionario_ID  = FVM.ProfessorID;
                    frequencia.Dt_Aula         = FVM.DtAula;
                    frequencia.Qtde_Aula       = FVM.QtdeAulas;
                    frequencia.Aula_Ministrada = FVM.AulaMinistrada;
                    frequencia.Matricula_ID    = al;
                    db.Negocio_Frequencia.Add(frequencia);
                    await db.SaveChangesAsync();

                    //Atualizando a frequencia do aluno
                    Negocio_Vinculo_Disciplina vd = db.Negocio_Vinculo_Disciplina.Where(o => o.Disciplina_ID == FVM.DisciplinaID && o.Matricula_ID == al).FirstOrDefault();
                    vd.Frequencia      = vd.Frequencia + frequencia.Qtde_Aula;
                    db.Entry(vd).State = EntityState.Modified;
                    await db.SaveChangesAsync();
                }
                return(RedirectToAction("Index"));
            }
            Negocio_Disciplina d = db.Negocio_Disciplina.Find(FVM.DisciplinaID);

            PopulateMatriculasList(d);
            return(View(FVM));
        }