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))); }
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))); }
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)); }