public async Task <IActionResult> Edit(int id, [Bind("CandidatoId,PerfilId")] CandidatoPerfil candidatoPerfil) { if (id != candidatoPerfil.CandidatoId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(candidatoPerfil); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CandidatoPerfilExists(candidatoPerfil.CandidatoId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["CandidatoId"] = new SelectList(_context.Candidatos, "Id", "Id", candidatoPerfil.CandidatoId); ViewData["PerfilId"] = new SelectList(_context.Perfis, "Id", "Id", candidatoPerfil.PerfilId); return(View(candidatoPerfil)); }
public async Task <IActionResult> Create([Bind("CandidatoId,PerfilId")] CandidatoPerfil candidatoPerfil) { if (ModelState.IsValid) { _context.Add(candidatoPerfil); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["CandidatoId"] = new SelectList(_context.Candidatos, "Id", "Id", candidatoPerfil.CandidatoId); ViewData["PerfilId"] = new SelectList(_context.Perfis, "Id", "Id", candidatoPerfil.PerfilId); return(View(candidatoPerfil)); }
// GET: CandidatoPerfils/Details/5 public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } var candidatoPerfil = await _context.CandidatoPerfils .Include(p => p.Perfil) .Include(c => c.Candidato).Where(cp => cp.CandidatoId == id) .Select(c => new { c.Candidato.Id, c.Perfil.Descricao, c.PerfilId }) .DefaultIfEmpty().ToListAsync(); //var perfilDbContext = await _context.Perfis // .Include(x => x.Candidatos) // .Select(x => new { x.Id, x.Descricao, candidato = _context.Candidatos }).DefaultIfEmpty().ToListAsync(); //var candidatoPerfil = await _context.CandidatoPerfils // .Include(p => p.Perfil) // .Include(c => c.Candidato) // .Select(c => new // { // Id = c.Candidato.Id, // Nome = c.Candidato.Nome == null ? string.Empty : c.Candidato.Nome, // Descricao = c.Perfil.Descricao == null ? string.Empty : c.Perfil.Descricao, // CandidatoId = c == null ? 0 : c.CandidatoId, // PerfilId = c == null ? 0 : c.PerfilId // }) // .ToListAsync(); var results = await(from data1 in _context.Perfis join data2 in _context.Candidatos on id equals data2.Id into groupjoin from data2 in groupjoin.DefaultIfEmpty() select new { //Perfis = data1.Candidatos.ToList(), perfil_Id = data1.Id, Descricao = data1.Descricao, CandidatoId = data2.Id, Nome = data2.Nome == null ? "" : data2.Nome }).ToListAsync(); Candidato candidato = null; Perfil perfil = null; CandidatoPerfil cand_perfil = null; var candidatoPerfils = new List <CandidatoPerfil>(); var perfilIds = new List <int>(); //var perfilIdsDbCtx = await _context.CandidatoPerfils.ToListAsync(); for (int i = 0; i < candidatoPerfil.Count; i++) { perfilIds.Add(candidatoPerfil[i].PerfilId); } ViewBag.PerfilIds = perfilIds; for (int i = 0; i < results.Count; i++) { candidato = new Candidato() { Id = results.ToList()[i].CandidatoId, Nome = results.ToList()[i].Nome }; perfil = new Perfil() { Id = results.ToList()[i].perfil_Id, Descricao = results.ToList()[i].Descricao }; cand_perfil = new CandidatoPerfil() { Candidato = candidato, Perfil = perfil }; candidatoPerfils.Add(cand_perfil); } if (candidatoPerfils == null) { return(NotFound()); } //ViewBag.Candidato = new SelectList(_context.Candidatos, "Nome", "Nome", candidatoPerfil[0].Candidato.Nome); //ViewBag.Perfil = new SelectList(_context.Perfis, "Descricao", "Descricao", candidatoPerfil); return(View(candidatoPerfils)); }