Ejemplo n.º 1
0
        public void AdicionarNovoVisitante(String nome, DateTime dataVisita, DateTime proximoContato, String email, String telefone1, String telefone2, String informacoes)
        {
            if (!String.IsNullOrEmpty(nome) && (!String.IsNullOrEmpty(email) ||
                                                !String.IsNullOrEmpty(telefone1) || !String.IsNullOrEmpty(telefone2)))
            {
                Visitante novoVisitante = new Visitante();
                Contato   novoContato   = new Contato();

                novoVisitante.Nome           = nome;
                novoVisitante.DataVisita     = dataVisita;
                novoVisitante.ProximoContato = proximoContato;
                novoContato.Email            = email;
                novoContato.Telefone1        = telefone1;
                novoContato.Telefone2        = telefone2;
                novoVisitante.Contato        = novoContato;
                novoVisitante.Informacoes    = informacoes;

                using (AcademiaDbContext context = new AcademiaDbContext())
                {
                    context.Visitantes.Add(novoVisitante);
                    context.SaveChanges();
                    AtualizarListaVisitantes();
                }
            }
            else
            {
                throw (new ArgumentException("Nome ou Contato em branco"));
            }
        }
        public IActionResult InscripcionMaterias(Materia MateriaId)
        {
            Materia Materia       = _context.Materias.Find(MateriaId.Id);
            Guid    alumnoLoginId = Guid.Parse(this.User.FindFirstValue(ClaimTypes.NameIdentifier));

            if ((alumnoLoginId != null && Materia.Id != null) && (Materia.MaxAlumnos >= 1))
            {
                var materiaRegistrada = new RegistroAlumnosInscriptos();
                materiaRegistrada.AlumnoId  = alumnoLoginId;
                materiaRegistrada.MateriaId = Materia.Id;
                materiaRegistrada.Id        = Guid.NewGuid();
                Materia.MaxAlumnos--;
                _context.RegistroAlumnosInscriptos.Add(materiaRegistrada);
                _context.SaveChanges();
            }
            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 3
0
 public void DeletarVisitante(Visitante visitante)
 {
     using (AcademiaDbContext context = new AcademiaDbContext())
     {
         if (visitante != null)
         {
             Visitante visitanteParaSerDeletado = context.Visitantes.Include("Contato").Where(v => v.Id == visitante.Id).First();
             context.Contatos.Remove(visitanteParaSerDeletado.Contato);
             context.Visitantes.Remove(visitanteParaSerDeletado);
             context.SaveChanges();
             AtualizarListaVisitantes();
         }
         else
         {
             throw new ArgumentNullException("Nenhum visitante selecionado.");
         }
     }
 }
Ejemplo n.º 4
0
 public void AtualizarVisitante(int Id, String nome, DateTime dataVisita, DateTime proximoContato, String email, String telefone1, String telefone2, String informacoes)
 {
     if (!String.IsNullOrEmpty(nome) && (!String.IsNullOrEmpty(email) ||
                                         !String.IsNullOrEmpty(telefone1) || !String.IsNullOrEmpty(telefone2)))
     {
         using (AcademiaDbContext context = new AcademiaDbContext())
         {
             Visitante visitanteParaSerAtualizado = context.Visitantes.Include("Contato").Where(v => v.Id == Id).First();
             visitanteParaSerAtualizado.Nome              = nome;
             visitanteParaSerAtualizado.DataVisita        = dataVisita;
             visitanteParaSerAtualizado.ProximoContato    = proximoContato;
             visitanteParaSerAtualizado.Contato.Email     = email;
             visitanteParaSerAtualizado.Contato.Telefone1 = telefone1;
             visitanteParaSerAtualizado.Contato.Telefone2 = telefone2;
             visitanteParaSerAtualizado.Informacoes       = informacoes;
             context.SaveChanges();
             AtualizarListaVisitantes();
         }
     }
     else
     {
         throw (new ArgumentException("Nome ou Contato em branco"));
     }
 }
Ejemplo n.º 5
0
        public IActionResult Login(string username, string password, Rol rol)
        {
            string returnUrl = TempData[_Return_Url] as string;

            if (!string.IsNullOrWhiteSpace(username) && !string.IsNullOrWhiteSpace(password))
            {
                Usuario usuario = null;

                if (rol == Rol.Estudiante)
                {
                    usuario = _context.Alumnos.FirstOrDefault(usr => usr.Username == username);
                }
                else
                {
                    usuario = _context.Administradores.FirstOrDefault(usr => usr.Username == username);
                }

                if (usuario != null)
                {
                    var passwordEncriptada = password.Encriptar();

                    if (usuario.Password.SequenceEqual(passwordEncriptada))
                    {
                        // Se crean las credenciales del usuario que serán incorporadas al contexto
                        ClaimsIdentity identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme);

                        // El lo que luego obtendré al acceder a User.Identity.Name
                        identity.AddClaim(new Claim(ClaimTypes.Name, username));

                        // Se utilizará para la autorización por roles
                        identity.AddClaim(new Claim(ClaimTypes.Role, rol.ToString()));

                        // Lo utilizaremos para acceder al Id del usuario que se encuentra en el sistema.
                        identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, usuario.Id.ToString()));

                        // Lo utilizaremos cuando querramos mostrar el nombre del usuario logueado en el sistema.
                        identity.AddClaim(new Claim(ClaimTypes.GivenName, usuario.NombreYApellido));

                        ClaimsPrincipal principal = new ClaimsPrincipal(identity);

                        // En este paso se hace el login del usuario al sistema
                        HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal).Wait();

                        _context.SaveChanges();

                        TempData["JustLoggedIn"] = true;

                        if (!string.IsNullOrWhiteSpace(returnUrl))
                        {
                            return(Redirect(returnUrl));
                        }

                        return(RedirectToAction(nameof(HomeController.Index), "Home"));
                    }
                }
            }

            // Completo estos dos campos para poder retornar a la vista en caso de errores.
            ViewBag.Error         = "Usuario o contraseña incorrectos";
            ViewBag.UserName      = username;
            TempData[_Return_Url] = returnUrl;

            return(View());
        }