Beispiel #1
0
 public ActionResult DeleteProfessor(int id)
 {
     Models.Professor model = _db.Professor.Find(id);
     _db.Professor.Remove(model);
     _db.SaveChanges();
     return(RedirectToAction("Index"));
 }
Beispiel #2
0
 //Edit
 public ActionResult EditProfessor(int id)
 {
     Models.Professor model = _db.Professor.Find(id);
     if (model == null)
     {
         return(HttpNotFound());
     }
     return(View(model));
 }
Beispiel #3
0
 public ActionResult EditProfessor(Models.Professor model)
 {
     if (ModelState.IsValid)
     {
         _db.Entry(model).State = EntityState.Modified;
         _db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(model));
 }
Beispiel #4
0
 public ActionResult CreateProfesor(Models.Professor model)
 {
     if (ModelState.IsValid)
     {
         _db.Professor.Add(model);
         _db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(model));
 }
Beispiel #5
0
        //Delete

        public ActionResult DeleteProfessor(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Models.Professor model = _db.Professor.Find(id);
            if (model == null)
            {
                return(HttpNotFound());
            }
            return(View(model));
        }
Beispiel #6
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            Models.Professor professorModel = new Models.Professor();
            professorModel.Nome           = tbNome.Text;
            professorModel.DataNascimento = dtDataNascimento.Value;
            professorModel.Formacao       = cbFormacao.SelectedIndex;

            professorModel.Salvar();

            MessageBox.Show("Operação completada com sucesso");

            Close();
        }
Beispiel #7
0
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            if (HelperFunctions.EstaAutenticado(context.HttpContext))
            {
                bool            redirect   = false;
                bool            NoRedirect = false;
                HealthUpContext db         = context.HttpContext.RequestServices.GetRequiredService <HealthUpContext>();
                // se ja estiver na pagina, para nao causar loops infinitos de redirecionamento!
                if (context.HttpContext.Request.Path == "/Utilizadores/CompletarPerfil")
                {
                    NoRedirect = true;
                }
                // deixar utilizador dar logout
                if (context.HttpContext.Request.Path == "/Utilizadores/Logout")
                {
                    NoRedirect = true;
                }

                if (!NoRedirect)
                {
                    if (HelperFunctions.IsCurrentUserProfessor(context.HttpContext))
                    {
                        Models.Professor professor = db.Professores.Include(p => p.NumProfessorNavigation).SingleOrDefault(p => p.NumCC == context.HttpContext.Session.GetString("UserId"));
                        if (string.IsNullOrWhiteSpace(professor.Especialidade))
                        {
                            redirect = true;
                        }
                    }
                    if (HelperFunctions.IsCurrentUserSocio(context.HttpContext))
                    {
                        Models.Socio socio = db.Socios.Include(s => s.NumSocioNavigation).SingleOrDefault(p => p.NumCC == context.HttpContext.Session.GetString("UserId"));
                        if (socio.Peso == null || socio.Altura == null)
                        {
                            redirect = true;
                        }
                    }
                }

                if (redirect)
                {
                    RouteValueDictionary values = new RouteValueDictionary(new
                    {
                        action     = "CompletarPerfil",
                        controller = "Utilizadores"
                    });
                    context.Result = new RedirectToRouteResult(values);
                }
            }
            base.OnActionExecuting(context);
        }
 public void Deletar(Models.Professor professor)
 {
     _context.Professores.Remove(professor);
 }
 public void Atualizar(Models.Professor professor)
 {
     _context.Professores.Update(professor);
 }
 public void Adicionar(Models.Professor professor)
 {
     _context.Professores.Add(professor);
 }
        public async Task <ActionResult> UploadListaAlunos(IFormFile file, [FromQuery(Name = "idProfessor")] int idProfessor)
        {
            if (file != null)
            {
                Models.Professor professor = await _context.Professor.FirstOrDefaultAsync(p => p.IdProfessor == idProfessor);

                // Bloquear importação de alunos por um período de tempo definido em appsettings.json
                string   strPeriodo = _configuration.GetValue <string>("Config:PeriodoBloqueioImportacao");
                TimeSpan periodo    = TimeSpan.Zero;
                if (!string.IsNullOrEmpty(strPeriodo) && TimeSpan.TryParse(strPeriodo, out periodo))
                {
                    if (professor.DataUltimaImportacao.HasValue)
                    {
                        if (DateTime.Now - professor.DataUltimaImportacao.Value < periodo)
                        {
                            TimeSpan diff = periodo - (DateTime.Now - professor.DataUltimaImportacao.Value);
                            string   dias = diff.Days > 0 ? diff.Days.ToString() + " dias," : "";
                            TempData["Error"] = $"Deve-se aguardar {dias} {diff.ToString("hh\\:mm\\:ss")} antes de se poder importar alunos para este professor.";
                            return(RedirectToAction("Index", new { idProfessor = idProfessor }));;
                        }
                    }
                }

                // Formato: NomeAluno||ValorMensalidade||DataVencimento
                using (StreamReader sr = new StreamReader(file.OpenReadStream()))
                {
                    string msg       = null;
                    string error     = null;
                    int    inseridos = 0;

                    string[] lines = sr.ReadToEnd().Split("\r\n")
                                     .Where(l => l.Length > 0)
                                     .ToArray();

                    for (int i = 0; i < lines.Length; i++)
                    {
                        string[] lineSplit = lines[i].Split("||");

                        if (lineSplit.Length != 3)
                        {
                            error = $"Registro inválido na linha {i + 1} do arquivo. Formato: NomeAluno||ValorMensalidade||DataVencimento.";
                            break;
                        }

                        string nomeAluno   = lineSplit[0];
                        string valorMensal = lineSplit[1];
                        string dataVenc    = lineSplit[2];

                        if (string.IsNullOrEmpty(nomeAluno) ||
                            string.IsNullOrEmpty(valorMensal) ||
                            string.IsNullOrEmpty(dataVenc))
                        {
                            error = $"Registro inválido na linha {i + 1} do arquivo. Formato: NomeAluno||ValorMensalidade||DataVencimento.";
                            break;
                        }

                        // Mensalidade
                        decimal mensalidade = 0.0m;
                        if (!decimal.TryParse(valorMensal, out mensalidade))
                        {
                            error = $"Valor mensal inválido na linha {i + 1} do arquivo -- formato: 0.00.";
                            break;
                        }

                        // Data de vencimento
                        DateTime dataVencimento = DateTime.MinValue;
                        if (!DateTime.TryParseExact(dataVenc, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture
                                                    , System.Globalization.DateTimeStyles.None, out dataVencimento))
                        {
                            error = $"Data de vencimento inválida na linha {i + 1} do arquivo -- formato: DD/MM/AAAA.";
                            break;
                        }

                        // Inserir Aluno
                        Models.Aluno aluno = new Aluno()
                        {
                            IdProfessor    = idProfessor,
                            Nome           = nomeAluno,
                            Mensalidade    = mensalidade,
                            DataVencimento = dataVencimento
                        };
                        _context.Add(aluno);
                        await _context.SaveChangesAsync();

                        inseridos++;

                        // Salvar data de importação
                        professor.DataUltimaImportacao = DateTime.Now;
                        await _context.SaveChangesAsync();
                    }

                    if (error == null && inseridos > 0)
                    {
                        msg = $"{inseridos} registros inseridos.";
                    }

                    TempData["Error"]   = error;
                    TempData["Message"] = msg;
                }
            }

            return(RedirectToAction("Index", new { idProfessor = idProfessor }));
        }
Beispiel #12
0
 public bool Add(Models.Professor professor)
 {
     throw new System.NotImplementedException();
 }
Beispiel #13
0
 public bool Update(Models.Professor professor)
 {
     throw new NotImplementedException();
 }