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> Create([Bind("Código,Nombre,Id")] Asignatura asignatura) { if (ModelState.IsValid) { _context.Add(asignatura); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(asignatura)); }
public async Task <IActionResult> Create([Bind("CorreoElectrónico,Nombre,Contraseña,Identificación,Sexo,Edad,Nombres,PrimerApellido,SegundoApellido")] Director director) { if (ModelState.IsValid) { director.Rol = Rol.DIRECTOR; _context.Add(director); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(director)); }
public async Task <IActionResult> Create([Bind("Nombre,Contraseña,CorreoElectrónico,Identificación,Sexo,Edad,Nombres,PrimerApellido,SegundoApellido,Id")] Administrador administrador) { if (ModelState.IsValid) { administrador.Rol = Rol.ADMINISTRADOR; _context.Add(administrador); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(administrador)); }
public async Task <IActionResult> Create([Bind("Nombre,Id")] Rúbrica rúbrica) { if (ModelState.IsValid) { rúbrica.FechaDeRegistro = DateTime.Now; rúbrica.Estado = Rúbrica.RúbricaState.ACTIVA; _context.Add(rúbrica); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(rúbrica)); }
public async Task <IActionResult> Create([Bind("Id,Nombre,Contraseña,Rol,ConfirmaciónContraseña")] Usuario usuario) { if (ModelState.IsValid) { if (usuario.Contraseña != usuario.ConfirmaciónContraseña) { ViewBag.MensajeDeError = "Las contraseñas no coinciden"; return(View(usuario)); } _context.Add(usuario); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(usuario)); }
public async Task <int> SaveChanges() { return(await Contexto.SaveChangesAsync()); }
public async Task <IActionResult> Create([Bind("Código,Nombre,Id,Descripción,IdAsignatura,IdDirector,IdCalificado1,IdCalificado2,IdRúbrica")] Proyecto proyecto) { ViewBag.Asignaturas = new SelectList(_context.Asignatura, "Código", "Nombre"); ViewBag.Rúbricas = new SelectList(_context.Rúbrica, "Id", "Nombre"); if (ModelState.IsValid) { if (_context.Asignatura.Count() == 0) { ViewBag.ErrorNoHayAsignaturasRegistradas = "No hay asignaturas registradas"; return(View(proyecto)); } if (_context.Director.Count() == 0) { ViewBag.ErrorConDirector = "No hay directores registrados"; return(View(proyecto)); } if (_context.Calificador.Count() == 0) { ViewBag.ErrorConCalificador1 = "No hay calificadores registrados"; ViewBag.ErrorConCalificador2 = "No hay calificadores registrados"; return(View(proyecto)); } if (_context.Rúbrica.Count() == 0) { ViewBag.ErrorNoHayRúbricasRegistradas = "No hay rúbricas registradas"; return(View(proyecto)); } Asignatura a = _context.Asignatura.Where(a => a.Código == proyecto.IdAsignatura).FirstOrDefault(); Director d = _context.Director.Where(d => d.Identificación == proyecto.IdDirector).FirstOrDefault(); Calificador c1 = _context.Calificador.Where(c => c.Identificación == proyecto.IdCalificado1).FirstOrDefault(); Calificador c2 = _context.Calificador.Where(c => c.Identificación == proyecto.IdCalificado2).FirstOrDefault(); Rúbrica r = _context.Rúbrica.Where(r => r.Id == proyecto.IdRúbrica).FirstOrDefault(); if (d == null) { ViewBag.ErrorConDirector = "Este director no está registrado"; return(View(proyecto)); } if (c1 == null) { ViewBag.ErrorConCalificador1 = "Este calificador no está registrado"; return(View(proyecto)); } if (c2 == null) { ViewBag.ErrorConCalificador2 = "Este calificador no está registrado"; return(View(proyecto)); } ViewBag.ErrorConDirector = d.NombreCompleto(); proyecto.Asignatura = a; proyecto.Director = d; proyecto.Calificador1 = c1; proyecto.Calificador2 = c2; proyecto.Rúbrica = r; proyecto.Calificación = 0; _context.Add(proyecto); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(proyecto)); }