public IActionResult CadastrarPaciente(PacienteStandaloneViewModel pacienteModel) { try { LoginViewModel login = new LoginViewModel(); PacienteViewModel paciente = PacienteRepository.RetornarPacienteViewModel(pacienteModel); Usuarios usuario = UsuarioRepository.BuscarPorEmail(login); if (paciente.Paciente.DataNascimento.Date > DateTime.Now.Date) { return(BadRequest()); } UsuarioRepository.CadastrarPaciente(paciente); return(Ok()); } catch (Exception ex) { return(BadRequest(new { mensagem = "Erro: " + ex })); } }
[Authorize(Roles = "Administrador")]//Determina qual tipo de usuário pode utilizar esse Método public IActionResult CadastrarCliente(ClienteStandaloneViewModel clientemModel) { try // Tenta realizar as ações abaixo { LoginViewModel login = new LoginViewModel(); //Instancia Login view Model armazenando numa variável chamada login ClienteViewModel cliente = ClienteRepository.RetornarClienteViewModel(clientemModel); // cria uma variável do tipo ClienteViewModel com o nome cliente Usuarios usuario = UsuarioRepository.BuscarPorEmail(login); // cria uma variável do tipo Usuários e usa o metodo BuscarPorEmail para encontrar as credenciais no banco de dados if (cliente.Cliente.DataNascimento.Date > DateTime.Now.Date) // Verifica se a data de nascimento informada no formulário de cadastro não é maior do que a data atual { return(BadRequest()); //retorna 400 Bad Request } UsuarioRepository.CadastrarCliente(cliente); // Cadastra o cliente usando o método CadastrarCliente return(Ok()); //retorna 200 Ok } catch (Exception ex) //Armazena um erro caso as instruções acima não consigam ser executadas armazenando na variável ex do tipo { return(BadRequest(new //Criando e retornando a mensagem de erro que será enviada { mensagem = "Erro: " + ex // Inserindo erro na mensagem })); } }
public ActionResult Cadastrar(Usuario user) { try { if ((_usuarioRepository.BuscarPorEmail(user.Email) != null)) { return(StatusCode(303, "Email existente ")); } if (_usuarioRepository.BuscarPorApelido(user.Apelido) != null) { return(StatusCode(303, "Apelido existente ")); } _usuarioRepository.Cadastrar(user); return(StatusCode(201, "Usuario criado")); } catch (Exception erro) { return(BadRequest(erro)); } }
public ActionResult Login(LoginViewModel loginModel) { var usuarioRepository = new UsuarioRepository(db); //Busca o usuario por meio do repositorio passando o email var user = usuarioRepository.BuscarPorEmail(loginModel.Email); //Verifica se encontrou o usuario e se a senha cofere if (user != null && user.HashSenha == GerarHash(loginModel.Senha)) { if (user.FlagSenhaTemp == "S") { CriaPerfil(user, "SenhaTemporaria"); return(RedirectToAction("RedefinirSenha", new { UsuarioId = user.UsuarioId })); } else { string perfil = "Comum"; if (user.Administrador.Count > 0) { perfil = "Administrador"; } else if (user.ALUNO.Count > 0) { perfil = "ALUNO"; } else if (user.PROFESSOR.Count > 0) { perfil = "PROFESSOR"; } CriaPerfil(user, perfil); if (user.Administrador.Count > 0) { return(RedirectToAction("Cadastramentos", "Home")); } if (user.ALUNO.Count > 0) { return(RedirectToAction("Index", "Home")); } return(RedirectToAction("Listagem", "PROFMATERIATURMA")); } } else { ModelState.AddModelError("Senha", "A Senha não confere"); ModelState.AddModelError(string.Empty, "E-mail ou senha inválidos"); return(View(loginModel)); } }