예제 #1
0
        public IActionResult PedidoProf_Aprovado(int id)
        {
            SolicitacaoProfessor solicitacao = _context.SolicitacaoProfessores.Include(s => s.Socio).ThenInclude(s => s.NumSocioNavigation).Include(s => s.Professor).ThenInclude(p => p.NumProfessorNavigation).Include(a => a.NumAdminNavigation).ThenInclude(x => x.NumAdminNavigation).FirstOrDefault(s => s.IdSolicitacao == id);

            // Atribuir o ID do admin a esta solicitacao
            solicitacao.NumAdmin = HttpContext.Session.GetString("UserId");
            Socio     socio = solicitacao.Socio.SingleOrDefault();
            Professor prof  = solicitacao.Professor.SingleOrDefault();

            socio.NumProfessor   = prof.NumCC;
            socio.ID_Solicitacao = null;

            prof.IdSolicitacao = null;
            prof.Socio.Add(socio);
            _context.Socios.Update(socio);
            _context.Professores.Update(prof);

            // --------------------------------------------------------------------------------------------------------------------------------------
            // Adicionar na tabela de solicitacoes do admin
            Admin admin = _context.Admins.Include(x => x.SolicitacaoProfessor).Include(x => x.NumAdminNavigation).SingleOrDefault(x => x.NumCC == HttpContext.Session.GetString("UserId"));

            admin.SolicitacaoProfessor.Add(solicitacao);
            _context.Admins.Update(admin);
            // --------------------------------------------------------------------------------------------------------------------------------------
            _context.SaveChanges();

            return(RedirectToAction(nameof(AprovarPedidoProf)));
        }
예제 #2
0
        public IActionResult PedidoProf_Rejeitado(int id)
        {
            SolicitacaoProfessor solicitacao = _context.SolicitacaoProfessores.FirstOrDefault(p => p.IdSolicitacao == id);

            _context.SolicitacaoProfessores.Remove(solicitacao);
            _context.SaveChanges();

            return(RedirectToAction(nameof(AprovarPedidoProf)));
        }
예제 #3
0
        public async Task <IActionResult> SolicitarPT(string ProfessorEscolhido)
        {
            Professor            Prof        = _context.Professores.SingleOrDefault(p => p.NumCC == ProfessorEscolhido);
            Socio                Socio       = _context.Socios.Include(s => s.NumProfessorNavigation).SingleOrDefault(s => s.NumCC == HttpContext.Session.GetString("UserId"));
            SolicitacaoProfessor solicitacao = new SolicitacaoProfessor();

            if (_context.Socios.SingleOrDefault(s => s.NumCC == HttpContext.Session.GetString("UserId")).ID_Solicitacao != null)
            {
                ModelState.AddModelError("", "Já existe um pedido de personal trainer pendente! Aguarde a aprovação ou rejeição por parte de um administrador!");
            }
            if (ModelState.IsValid)
            {
                solicitacao.Professor.Add(Prof);
                solicitacao.Socio.Add(Socio);
                solicitacao.Data = DateTime.Now;

                _context.Add(solicitacao);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index), "Home"));
            }

            // Passar para a view de novo a lista de professores
            List <Pessoa> Lista = new List <Pessoa>();

            // Obter lista de nomes de professores + especialidade
            foreach (Pessoa pessoa in _context.Pessoas.Include(p => p.Professor))
            {
                if (pessoa.Professor != null)
                {
                    Lista.Add(pessoa);
                }
            }
            ViewBag.Professores = Lista.Select(c => new SelectListItem()
            {
                Text  = c.Nome + " | Especialidade: " + _context.Professores.SingleOrDefault(s => s.NumCC == c.NumCC).Especialidade,
                Value = c.NumCC
            });
            return(View(solicitacao));
        }