public IActionResult AgregarAlumno(AgregarAlumVM vm) { rolesrobertoContext context = new rolesrobertoContext(); DocenteRepository docenteRepos = new DocenteRepository(context); AlumnosRepository alumnosRepos = new AlumnosRepository(context); try { if (context.Alumno.Any(x => x.NumeroDeControl == vm.Alumno.NumeroDeControl)) { ModelState.AddModelError("", "Este número de control ya se encuentra registrado."); return(View(vm)); } else { var maestro = docenteRepos.GetDocenteByClave(vm.Docente.Clave).Id; vm.Alumno.IdDocente = maestro; alumnosRepos.Insert(vm.Alumno); return(RedirectToAction("VAlumno", new { id = maestro })); } } catch (Exception ex) { vm.Docente = docenteRepos.GetById(vm.Docente.Id); vm.lstDocentes = docenteRepos.GetAll(); ModelState.AddModelError("", ex.Message); return(View(vm)); } }
public IActionResult RegistrarDocente(Docente dnte) { rolesrobertoContext context = new rolesrobertoContext(); DocenteRepository repository = new DocenteRepository(context); try { var maestro = repository.GetDocenteByClave(dnte.Clave); if (maestro == null) { dnte.Activo = 1; dnte.Contrasena = HashingHelper.GetHash(dnte.Contrasena); repository.Insert(dnte); return(RedirectToAction("VDocente")); } else { ModelState.AddModelError("", "Clave no está disponible."); return(View(dnte)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(dnte)); } }
public async Task <IActionResult> ISDocente(Docente dnte) { rolesrobertoContext context = new rolesrobertoContext(); DocenteRepository repository = new DocenteRepository(context); var docent = repository.GetDocenteByClave(dnte.Clave); try { if (docent != null && docent.Contrasena == HashingHelper.GetHash(dnte.Contrasena)) { if (docent.Activo == 1) { List <Claim> info = new List <Claim>(); info.Add(new Claim(ClaimTypes.Name, "Usuario" + docent.Nombre)); info.Add(new Claim(ClaimTypes.Role, "Docente")); info.Add(new Claim("Clave", docent.Clave.ToString())); info.Add(new Claim("Nombre", docent.Nombre)); info.Add(new Claim("Id", docent.Id.ToString())); var claimsidentity = new ClaimsIdentity(info, CookieAuthenticationDefaults.AuthenticationScheme); var claimsprincipal = new ClaimsPrincipal(claimsidentity); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsprincipal, new AuthenticationProperties { IsPersistent = true }); return(RedirectToAction("Index", docent.Clave)); } else { ModelState.AddModelError("", "Atencion, Cuenta desactivada."); return(View(dnte)); } } else { ModelState.AddModelError("", "La clave o la contraseña del docente son incorrectas."); return(View(dnte)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(dnte)); } }