public async Task <IActionResult> Create(int destinatarioId, [Bind("Id,Testo,GruppoId")] Rapporto rapporto) { if (_context.Assegnazioni.Count(a => a.GruppoId == rapporto.GruppoId && a.UtenteId == destinatarioId) > 0) { rapporto.Data = DateTime.Now.Date; rapporto.Autore = await _manager.GetUserAsync(User); rapporto.Gruppo = await _context.Gruppi.FindAsync(rapporto.GruppoId); if (destinatarioId != 0) { rapporto.Destinatario = await _context.Users.FindAsync(destinatarioId); } await _context.AddAsync(rapporto); if (await _context.SaveChangesAsync() > 0) { return(RedirectToAction("Index")); } } else { ViewData["Errore"] = "Il destinatario non fa parte del gruppo."; } ViewData["DestinatarioId"] = new SelectList(_context.Users, "Id", "Nome", rapporto.DestinatarioId); ViewData["GruppoId"] = new SelectList(_context.Gruppi, "Id", "Nome", rapporto.GruppoId); return(View(rapporto)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Testo,AutoreUtenteId,GruppoId")] Rapporto rapporto) { if (id != rapporto.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(rapporto); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RapportoExists(rapporto.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Index")); } ViewData["AutoreUtenteId"] = new SelectList(_context.Users, "Id", "Id", rapporto.AutoreId); ViewData["GruppoId"] = new SelectList(_context.Gruppi, "Id", "Id", rapporto.GruppoId); //ViewData["SoggettoUtenteId"] = new SelectList(_context.Users, "Id", "Id", rapporto.SoggettoUtenteId); return(View(rapporto)); }