Exemplo n.º 1
0
        public IActionResult AgregarDocente(Docente d)
        {
            rolesusuarioContext context = new rolesusuarioContext();
            DocentesRepository  repos   = new DocentesRepository(context);

            try
            {
                var existe = repos.GetDocenteByClave(d.Clave);
                if (existe != null)
                {
                    ModelState.AddModelError("", "Ya existe un docente con esta clave");
                    return(View(d));
                }
                else
                {
                    d.Activo     = 1;
                    d.Contraseña = HashingHelpers.GetHash(d.Contraseña);
                    repos.Insert(d);
                    return(RedirectToAction("VerDocentes"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(d));
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> IniciarSesionDocente(Docente d)
        {
            rolesusuarioContext context = new rolesusuarioContext();
            DocentesRepository  repos   = new DocentesRepository(context);

            var docente = repos.GetDocenteByClave(d.Clave);

            try
            {
                if (docente != null && docente.Contraseña == HashingHelpers.GetHash(d.Contraseña))
                {
                    if (docente.Activo == 1)
                    {
                        List <Claim> informacion = new List <Claim>();

                        informacion.Add(new Claim(ClaimTypes.Name, "Usuario" + docente.Nombre));
                        informacion.Add(new Claim("Clave", docente.Clave.ToString()));
                        informacion.Add(new Claim(ClaimTypes.Role, "Docente"));
                        informacion.Add(new Claim("Nombre Completo", docente.Nombre));
                        informacion.Add(new Claim("IdDocente", docente.Id.ToString()));

                        var claimsIdentity  = new ClaimsIdentity(informacion, CookieAuthenticationDefaults.AuthenticationScheme);
                        var claimsPrincipal = new ClaimsPrincipal(claimsIdentity);

                        await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrincipal,
                                                      new AuthenticationProperties { IsPersistent = true });

                        return(RedirectToAction("Principal", docente.Clave));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Lo sentimos, su usuario esta desactivado, hable con su superior para activar la cuenta");
                        return(View(d));
                    }
                }
                else
                {
                    ModelState.AddModelError("", "La clave de docente o la contraseña es incorrecta");
                    return(View(d));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(d));
            }
        }
Exemplo n.º 3
0
        public IActionResult AgregarAlumno(AgregarAlumnoViewModel vm)
        {
            rolesusuarioContext context     = new rolesusuarioContext();
            DocentesRepository  repos       = new DocentesRepository(context);
            AlumnosRepository   reposAlumno = new AlumnosRepository(context);

            try
            {
                // vm.Docente = repos.Get(vm.Docente.Id);
                //vm.Docentntes = repos.GetAll();
                var idDocente = repos.GetDocenteByClave(vm.Docente.Clave).Id;
                vm.Alumno.IdMaestro = idDocente;
                reposAlumno.Insert(vm.Alumno);
                return(RedirectToAction("Alumnos", new { id = idDocente }));
            }
            catch (Exception ex)
            {
                vm.Docente    = repos.Get(vm.Docente.Id);
                vm.Docentntes = repos.GetAll();
                ModelState.AddModelError("", ex.Message);
                return(View(vm));
            }
        }