public IActionResult AltaMaestro(RegistrarViewModel vm) { MaestrosRepository reposMaestro = new MaestrosRepository(context); try { if (vm.Maestro.Contrasena.ToString() == vm.ConfirmarContraseña.ToString()) { var contraHash = HashingHelper.GetHash(vm.Maestro.Contrasena); vm.Maestro.Contrasena = contraHash; reposMaestro.Insert(vm.Maestro); return(RedirectToAction("ListaMaestros")); } else { ModelState.AddModelError("", "Las contraseñas no coinciden"); return(View(vm)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(vm)); } }
public IActionResult ModificarMaestro(Maestro m) { MaestrosRepository repos = new MaestrosRepository(context); try { var maestro = repos.Get(m.Id); if (maestro != null) { maestro.Nombre = m.Nombre; maestro.Correo = m.Correo; if (context.Maestro.Any(x => x.Grupo == m.Grupo && x.Id != m.Id)) { ModelState.AddModelError("", "Ya hay un maestro registrado con ese grupo"); return(View(m)); } else { maestro.Grupo = m.Grupo; } repos.Update(maestro); return(RedirectToAction("ListaMaestros")); } else { return(RedirectToAction("ListaMaestros")); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(m)); } }
public IActionResult ListaMaestros() { MaestrosRepository reposMaestro = new MaestrosRepository(context); var maestros = reposMaestro.GetAll().OrderBy(x => x.Nombre); return(View(maestros)); }
public MaestrosService(ScmContext context, IMapper mapper, MaestrosRepository maestrosRepository, HorariosRepository horarioRepository) { _context = context; _mapper = mapper; _maestrosRepository = maestrosRepository; _horarioRepository = horarioRepository; }
public MaestrosController(MaestrosRepository maestrosRepository, MaestrosService maestrosService, ScmContext scmContext, IMapper mapper) { _maestrosRepository = maestrosRepository; _scmContext = scmContext; _mapper = mapper; _maestrosService = maestrosService; }
public IActionResult CambiarContraseña(int id) { MaestrosRepository repos = new MaestrosRepository(context); RegistrarViewModel vm = new RegistrarViewModel(); vm.Maestro = repos.Get(id); return(View(vm)); }
public IActionResult ModificarMaestro(int id) { MaestrosRepository repos = new MaestrosRepository(context); var maestro = repos.Get(id); if (maestro != null) { return(View(maestro)); } else { return(RedirectToAction("ListaMaestros")); } }
public IActionResult ListaAlumnos(int?id) { if (User.IsInRole("Maestro")) { MaestrosRepository maestroRepos = new MaestrosRepository(context); var maestro = maestroRepos.Get(id); var alumnos = maestroRepos.GetAlumnosByGrupo(maestro.Grupo).OrderBy(x => x.Nombre); return(View(alumnos)); } else { AlumnosRepository reposAlumno = new AlumnosRepository(context); var alumnos = reposAlumno.GetAll().OrderBy(x => x.Grupo); return(View(alumnos)); } }
public IActionResult EditarActivo(Maestro m) { MaestrosRepository repos = new MaestrosRepository(context); var original = repos.Get(m.Id); if (original != null) { if (original.Activo == 1) { original.Activo = 0; repos.Update(original); } else { original.Activo = 1; repos.Update(original); } } return(RedirectToAction("ListaMaestros")); }
public IActionResult CambiarContraseña(RegistrarViewModel vm) { MaestrosRepository repos = new MaestrosRepository(context); var original = repos.Get(vm.Maestro.Id); if (original != null) { if (vm.Maestro.Contrasena == vm.ConfirmarContraseña) { var nuevaContraHash = HashingHelper.GetHash(vm.Maestro.Contrasena); original.Contrasena = nuevaContraHash; repos.Update(original); return(RedirectToAction("Index")); } else { ModelState.AddModelError("", "Las contraseñas no coiniciden."); return(View(vm)); } } return(RedirectToAction("Index")); }
public async Task <IActionResult> IniciarSesion(string correo, string contraseña, bool recuerdame) { if (correo == "*****@*****.**") { var usuario = context.Director.FirstOrDefault(x => x.Correo.ToUpper() == correo.ToUpper()); if (usuario != null) { var contraHash = HashingHelper.GetHash(contraseña).ToUpper(); if (usuario.Correo.ToUpper() == correo.ToUpper() && usuario.Contrasena == contraHash) { List <Claim> Informacion = new List <Claim>(); Informacion.Add(new Claim(ClaimTypes.Name, "Director")); Informacion.Add(new Claim(ClaimTypes.Role, "Director")); Informacion.Add(new Claim("NombreUsuario", usuario.Nombre)); Informacion.Add(new Claim("IdUsuario", usuario.Id.ToString())); var claimsIdentity = new ClaimsIdentity(Informacion, CookieAuthenticationDefaults.AuthenticationScheme); var claimsPrincipal = new ClaimsPrincipal(claimsIdentity); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrincipal, new AuthenticationProperties { IsPersistent = recuerdame }); return(RedirectToAction("Index")); } else { ModelState.AddModelError("", "El usuario o la contraseña no coincide."); return(View()); } } else { ModelState.AddModelError("", "No hay ningun usuario registado con ese correo electronico."); return(View()); } } else // ES DOCENTE { MaestrosRepository repos = new MaestrosRepository(context); var usuario = repos.GetMaestroByCorreo(correo); if (usuario != null) { if (usuario.Activo == 1) { if (usuario.Correo.ToUpper() == correo.ToUpper() && usuario.Contrasena == HashingHelper.GetHash(contraseña)) { List <Claim> Informacion = new List <Claim>(); Informacion.Add(new Claim(ClaimTypes.Name, "Maestro")); Informacion.Add(new Claim(ClaimTypes.Role, "Maestro")); Informacion.Add(new Claim("NombreUsuario", usuario.Nombre)); Informacion.Add(new Claim("IdUsuario", usuario.Id.ToString())); var claimsIdentity = new ClaimsIdentity(Informacion, CookieAuthenticationDefaults.AuthenticationScheme); var claimsPrincipal = new ClaimsPrincipal(claimsIdentity); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrincipal, new AuthenticationProperties { IsPersistent = recuerdame }); return(RedirectToAction("Index")); } else { ModelState.AddModelError("", "El usuario o la contraseña no coincide."); return(View()); } } else { ModelState.AddModelError("", $"La cuenta del usuario {usuario.Nombre} no está activa."); return(RedirectToAction("Index")); } } else { ModelState.AddModelError("", "No hay ningun usuario registado con ese correo electronico."); return(View()); } } }
public IActionResult AgregarAlumno(RegistrarViewModel vm) { AlumnosRepository repos = new AlumnosRepository(context); try { MaestrosRepository maestroRepos = new MaestrosRepository(context); var maestro = maestroRepos.Get(vm.IdMaestro); if (maestro == null) { if (User.IsInRole("Director")) { var GrupoMaestro = context.Maestro.FirstOrDefault(x => x.Grupo == vm.Alumno.Grupo); if (GrupoMaestro == null) { ModelState.AddModelError("", "Aún no hay ningun maestro asignado a ese grupo."); return(View(vm)); } else { vm.Alumno.IdMaestro = GrupoMaestro.Id; repos.Insert(vm.Alumno); } } else { ModelState.AddModelError("", "Aún no hay ningun maestro asignado a ese grupo."); return(View(vm)); } } else { if (context.Maestro.Any(x => x.Grupo == vm.Alumno.Grupo)) { if (maestro.Grupo != vm.Alumno.Grupo) { ModelState.AddModelError("", "Usted no tiene permitido agregar alumnos a dicho grupo"); return(View(vm)); } vm.Alumno.IdMaestro = vm.IdMaestro; repos.Insert(vm.Alumno); } } if (User.IsInRole("Maestro")) { return(RedirectToAction("ListaAlumnos", new { id = vm.IdMaestro })); } else { return(RedirectToAction("ListaAlumnos")); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(vm)); } }