public async Task <IActionResult> Edit(long id, [Bind("Id,Fecha,Estado")] Sesión sesión) { if (id != sesión.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(sesión); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SesiónExists(sesión.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(sesión)); }
public async Task <IActionResult> Create([Bind("Id,Fecha,Estado,Nombre,Contraseña")] Sesión sesión) { if (ModelState.IsValid) { Usuario usuario = (from _usuario in _context.Usuario where _usuario.Nombre == sesión.Nombre select _usuario).FirstOrDefault(); if (usuario == null) { ViewBag.MensajeDeError = "El usuario no está registrado"; return(View(sesión)); } if (usuario.Contraseña != sesión.Contraseña) { ViewBag.MensajeDeError = "La contraseña es incorrecta"; return(View(sesión)); } sesión.Fecha = DateTime.Now; sesión.Estado = SesiónState.INICIADA; sesión.Usuario = usuario; if (usuario.Rol == Rol.CALIFICADOR) { IList <Proyecto> proyectos = (from p in _context.Proyecto where p.Calificador1.Id == usuario.Id || p.Calificador2.Id == usuario.Id select p).ToList(); ((Calificador)usuario).Proyectos = proyectos; } if (usuario.Rol == Rol.DIRECTOR) { IList <Proyecto> proyectos = (from p in _context.Proyecto where p.Director.Id == usuario.Id select p).ToList(); ((Director)usuario).Proyectos = proyectos; } _context.Add(sesión); usuario.Sesiones.Add(sesión); _context.Update(usuario); await _context.SaveChangesAsync(); SesiónActual.Sesión = sesión; return(RedirectToAction("Index", "Home", new { area = "" })); } return(View(sesión)); }
public HomeController(ILogger <HomeController> logger, ContextoApp contexto) { Sesión sesión = (from s in contexto.Sesión where s.Estado == SesiónState.INICIADA select s).Include(s => s.Usuario).FirstOrDefault(); if (sesión != null) { SesiónActual.Sesión = sesión; } _logger = logger; }