public async Task <IActionResult> Create([Bind("Descripción,Id,Porcentaje,IdRúbrica")] Criterio criterio) { if (ModelState.IsValid) { Rúbrica rúbrica = (from r in _context.Rúbrica where r.Id == criterio.IdRúbrica select r) .Include("Criterios") .FirstOrDefault(); rúbrica.CalcularPorcentajeRestante(); if (rúbrica == null) { ViewBag.MensajeDeError = "La rúbrica no se encuentra registrada"; return(View(criterio)); } if (rúbrica.PorcentajeRestante < criterio.Porcentaje) { ViewBag.MensajeDeError = "La rúbrica no tiene el porcentaje restante suficiente"; ViewBag.Rúbrica = rúbrica; return(View(criterio)); } criterio.Rúbrica = rúbrica; _context.Add(criterio); criterio.Rúbrica.Criterios.Add(criterio); _context.Update(criterio.Rúbrica); await _context.SaveChangesAsync(); criterio.Rúbrica.CalcularPorcentajeRestante(); return(RedirectToAction("Details", "Rúbrica", new { id = rúbrica.Id })); } return(View(criterio)); }
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 async Task <IActionResult> Edit(long id, [Bind("CorreoElectrónico,Contraseña,Identificación,Sexo,Edad,Nombres,PrimerApellido,SegundoApellido,Id")] Director director) { if (id != director.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(director); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DirectorExists(director.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(director)); }
public async Task <IActionResult> Edit(long id, [Bind("Id,Nombre,Contraseña,Rol")] Usuario usuario) { if (id != usuario.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(usuario); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!UsuarioExists(usuario.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(usuario)); }
public async Task <IActionResult> Edit(long id, [Bind("FechaDeRegistro,Nombre,Estado,Id")] Rúbrica rúbrica) { if (id != rúbrica.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(rúbrica); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RúbricaExists(rúbrica.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(rúbrica)); }
public async Task <IActionResult> Edit(long id, [Bind("Código,Nombre,Id")] Asignatura asignatura) { if (id != asignatura.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(asignatura); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AsignaturaExists(asignatura.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(asignatura)); }