Пример #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));
            }
        }
Пример #2
0
        public IActionResult AgregarAlumno(int id)
        {
            rolesusuarioContext    context = new rolesusuarioContext();
            DocentesRepository     repos   = new DocentesRepository(context);
            AgregarAlumnoViewModel vm      = new AgregarAlumnoViewModel();

            vm.Docente = repos.Get(id);
            if (vm.Docente != null)
            {
                if (User.IsInRole("Docente"))
                {
                    if (User.Claims.FirstOrDefault(x => x.Type == "IdDocente").Value == vm.Docente.Id.ToString())
                    {
                        return(View(vm));
                    }
                    else
                    {
                        return(RedirectToAction("AccesoDenegado"));
                    }
                }
                else if (vm.Docente.Activo != 1)
                {
                    return(RedirectToAction("VerDocentes"));
                }
                else
                {
                    return(View(vm));
                }
            }

            return(View(vm));
        }
Пример #3
0
        public IActionResult EditarAlumno(AgregarAlumnoViewModel vm)
        {
            rolesusuarioContext context      = new rolesusuarioContext();
            AlumnosRepository   reposAlumno  = new AlumnosRepository(context);
            DocentesRepository  reposDocente = new DocentesRepository(context);

            try
            {
                var alumno = reposAlumno.Get(vm.Alumno.Id);
                if (alumno != null)
                {
                    alumno.Nombre = vm.Alumno.Nombre;
                    if (User.IsInRole("Director"))
                    {
                        alumno.IdMaestro = vm.Alumno.IdMaestro;
                    }
                    reposAlumno.Update(alumno);
                    return(RedirectToAction("Alumnos", new { id = alumno.IdMaestro }));
                }
                else
                {
                    ModelState.AddModelError("", "No se encontro el alumno a editar");
                    vm.Docente    = reposDocente.Get(vm.Alumno.IdMaestro);
                    vm.Docentntes = reposDocente.GetAll();
                    return(View(vm));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                vm.Docente    = reposDocente.Get(vm.Alumno.IdMaestro);
                vm.Docentntes = reposDocente.GetAll();
                return(View(vm));
            }
        }
Пример #4
0
        public IActionResult CambiarContraseña(Docente d, string contraseñaNueva1, string contraseñaNueva2)
        {
            rolesusuarioContext context = new rolesusuarioContext();
            DocentesRepository  repos   = new DocentesRepository(context);
            var docente = repos.Get(d.Id);

            try
            {
                if (docente != null)
                {
                    if (contraseñaNueva1 == contraseñaNueva2)
                    {
                        docente.Contraseña = contraseñaNueva1;
                        docente.Contraseña = HashingHelpers.GetHash(contraseñaNueva1);
                        repos.Update(docente);
                    }
                    else
                    {
                        ModelState.AddModelError("", "Las contraseñas no coinciden");
                        return(View(docente));
                    }
                }
                return(RedirectToAction("VerDocentes"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(docente));
            }
        }
Пример #5
0
        public IActionResult VerDocentes()
        {
            rolesusuarioContext context = new rolesusuarioContext();
            DocentesRepository  repos   = new DocentesRepository(context);
            var listaDocentes           = repos.GetAll();

            return(View(listaDocentes));
        }
Пример #6
0
        public IActionResult CambiarContraseña(int id)
        {
            rolesusuarioContext context = new rolesusuarioContext();
            DocentesRepository  repos   = new DocentesRepository(context);
            var docente = repos.Get(id);

            if (docente == null)
            {
                return(RedirectToAction("VerDocentes"));
            }

            return(View(docente));
        }
Пример #7
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));
            }
        }
Пример #8
0
        public IActionResult EliminarAlumno(Alumno a)
        {
            rolesusuarioContext context = new rolesusuarioContext();
            AlumnosRepository   repos   = new AlumnosRepository(context);

            var alumnoEliminar = repos.Get(a.Id);

            if (alumnoEliminar != null)
            {
                repos.Delete(alumnoEliminar);
            }
            else
            {
                ModelState.AddModelError("", "No se encontro el alumno a eliminar");
            }
            return(RedirectToAction("Alumnos", new { id = alumnoEliminar.IdMaestro }));
        }
Пример #9
0
        public IActionResult DesactivarDocente(Docente d)
        {
            rolesusuarioContext context = new rolesusuarioContext();
            DocentesRepository  repos   = new DocentesRepository(context);

            var docenteDesactivar = repos.Get(d.Id);

            if (docenteDesactivar != null && docenteDesactivar.Activo == 1)
            {
                docenteDesactivar.Activo = 0;
                repos.Update(docenteDesactivar);
            }
            else
            {
                docenteDesactivar.Activo = 1;
                repos.Update(docenteDesactivar);
            }
            return(RedirectToAction("VerDocentes"));
        }
Пример #10
0
        public IActionResult EditarAlumno(int id)
        {
            rolesusuarioContext    context      = new rolesusuarioContext();
            AlumnosRepository      reposAlumno  = new AlumnosRepository(context);
            DocentesRepository     reposDocente = new DocentesRepository(context);
            AgregarAlumnoViewModel vm           = new AgregarAlumnoViewModel();

            vm.Alumno     = reposAlumno.Get(id);
            vm.Docentntes = reposDocente.GetAll();

            if (vm.Alumno != null)
            {
                vm.Docente = reposDocente.Get(vm.Alumno.IdMaestro);
                if (User.IsInRole("Docente"))
                {
                    vm.Docente = reposDocente.Get(vm.Alumno.IdMaestro);

                    if (User.Claims.FirstOrDefault(x => x.Type == "Clave").Value == vm.Docente.Clave.ToString())
                    {
                        return(View(vm));
                    }
                    else
                    {
                        return(RedirectToAction("AccesoDenegado"));
                    }
                }
                else if (vm.Docente.Activo != 1)
                {
                    return(RedirectToAction("VerDocentes"));
                }
                else
                {
                    return(View(vm));
                }
            }
            else
            {
                return(RedirectToAction("Principal"));
            }
        }
Пример #11
0
        public async Task <IActionResult> IniciarSesionDirector(Director d)
        {
            rolesusuarioContext   context = new rolesusuarioContext();
            Repository <Director> repos   = new Repository <Director>(context);

            var director = context.Director.FirstOrDefault(x => x.Clave == d.Clave);

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

                    informacion.Add(new Claim(ClaimTypes.Name, "Usuario" + director.Nombre));
                    informacion.Add(new Claim("Clave", director.Clave.ToString()));
                    informacion.Add(new Claim(ClaimTypes.Role, "Director"));
                    informacion.Add(new Claim("Nombre Completo", director.Nombre));
                    informacion.Add(new Claim("Fecha Ingreso", DateTime.Now.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"));
                }
                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));
            }
        }
Пример #12
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));
            }
        }
Пример #13
0
        public IActionResult EditarDocente(Docente d)
        {
            rolesusuarioContext context = new rolesusuarioContext();
            DocentesRepository  repos   = new DocentesRepository(context);
            var docente = repos.Get(d.Id);

            try
            {
                if (docente != null)
                {
                    docente.Nombre = d.Nombre;

                    repos.Update(docente);
                }

                return(RedirectToAction("VerDocentes"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(docente));
            }
        }
Пример #14
0
 public Repository(rolesusuarioContext ctx)
 {
     Context = ctx;
 }
Пример #15
0
 public HomeController(rolesusuarioContext ctx)
 {
     context = ctx;
 }
Пример #16
0
 public DocentesRepository(rolesusuarioContext contex) : base(contex)
 {
 }
Пример #17
0
 public AlumnosRepository(rolesusuarioContext context) : base(context)
 {
 }
Пример #18
0
 public Repository(rolesusuarioContext context)
 {
     Context = context;
 }
Пример #19
0
 public MaestrosRepository(rolesusuarioContext context) : base(context)
 {
 }