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))); }
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."); } } }
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")); } }
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()); }