public void download() { SqlConnection con = new SqlConnection(conString); con.Open(); if (con.State == System.Data.ConnectionState.Open) { string query = "select * from ambientes"; SqlCommand cmd = new SqlCommand(query, con); SqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Ambiente ambienteNovo = new Ambiente(); ambienteNovo.Id = (int)rdr["id"]; ambienteNovo.Nome = (String)rdr["nome"]; adicionarAmbiente(ambienteNovo); } rdr.Close(); query = "select * from usuarios"; cmd = new SqlCommand(query, con); rdr = cmd.ExecuteReader(); while (rdr.Read()) { Usuario usuarioNovo = new Usuario(); usuarioNovo.Id = (int)rdr["id"]; usuarioNovo.Nome = (String)rdr["nome"]; adicionarUsuario(usuarioNovo); } rdr.Close(); query = "select * from usuarios_ambientes"; cmd = new SqlCommand(query, con); rdr = cmd.ExecuteReader(); while (rdr.Read()) { Ambiente ambienteNovo = new Ambiente(); ambienteNovo.Id = (int)rdr["idAmbiente"]; Ambiente ambienteBaixado = pesquisarAmbiente(ambienteNovo); Usuario usuarioNovo = new Usuario(); usuarioNovo.Id = (int)rdr["idUsuarios"]; Usuario usuarioBaixado = pesquisarUsuario(usuarioNovo); usuarioBaixado.concederPermissao(ambienteBaixado); } rdr.Close(); query = "select * from registroLog"; cmd = new SqlCommand(query, con); rdr = cmd.ExecuteReader(); while (rdr.Read()) { Ambiente ambienteNovo = new Ambiente(); ambienteNovo.Id = (int)rdr["idAmbiente"]; Ambiente ambienteBaixado = pesquisarAmbiente(ambienteNovo); Usuario usuarioNovo = new Usuario(); usuarioNovo.Id = (int)rdr["idUsuarios"]; Usuario usuarioBaixado = pesquisarUsuario(usuarioNovo); bool tpAcesso; if ((bool)rdr["tpAcesso"]) { tpAcesso = true; } else { tpAcesso = false; } Log Aa = new Log(); Aa.DtAcesso = (DateTime)rdr["dtAcesso"]; Aa.Usuario = usuarioBaixado; Aa.TipoAcesso = tpAcesso; ambienteBaixado.RegistrarLog(Aa); } rdr.Close(); con.Close(); } }
static void Main(string[] args) { Cadastro cadastro = new Cadastro(); cadastro.Ambientes = new List <Ambiente>(); cadastro.Usuarios = new List <Usuario>(); int opc = 0; cadastro.download(); do { Console.WriteLine("0.Sair"); Console.WriteLine("1.Cadastrar ambiente"); Console.WriteLine("2.Consultar ambiente"); Console.WriteLine("3.Excluir ambiente"); Console.WriteLine("4.Cadastrar usuario"); Console.WriteLine("5.Consultar usuario"); Console.WriteLine("6.Excluir usuario"); Console.WriteLine("7.Conceder permissão de acesso ao usuario"); Console.WriteLine("8.Revogar permissão de acesso ao usuario "); Console.WriteLine("9.Registrar acesso "); Console.WriteLine("10.Consultar logs de acesso \n"); opc = int.Parse(Console.ReadLine()); Console.WriteLine(""); switch (opc) { case 0: break; case 1: Console.WriteLine("Digite o ID do novo ambiente: "); int idNovoAmbiente = int.Parse(Console.ReadLine()); Console.WriteLine("Digite o Nome do novo ambiente: "); string nomeNovoAmbiente = Console.ReadLine(); Ambiente NovoAmbiente = new Ambiente(); NovoAmbiente.Id = idNovoAmbiente; NovoAmbiente.Nome = nomeNovoAmbiente; cadastro.adicionarAmbiente(NovoAmbiente); Console.WriteLine("Ambiente adicionado com sucesso!"); break; case 2: Console.WriteLine("Digite o ID do ambiente que gostaria de pesquisar: "); int idPesquisaAmbiente = int.Parse(Console.ReadLine()); Ambiente PesquisaAmbiente = new Ambiente(); PesquisaAmbiente.Id = idPesquisaAmbiente; if (cadastro.pesquisarAmbiente(PesquisaAmbiente) != null) { Ambiente ambienteAchado = cadastro.pesquisarAmbiente(PesquisaAmbiente); Console.WriteLine("ID do ambiente: " + ambienteAchado.Id); Console.WriteLine("Nome do ambiente: " + ambienteAchado.Nome); Console.WriteLine(""); break; } Console.WriteLine("Ambiente não encontrado\n"); break; case 3: Console.WriteLine("Digite o ID do ambiente que gostaria de Excluir: "); int idExcluirAmbiente = int.Parse(Console.ReadLine()); Ambiente ExcluirAmbiente = new Ambiente(); ExcluirAmbiente.Id = idExcluirAmbiente; if (cadastro.pesquisarAmbiente(ExcluirAmbiente) != null) { Ambiente ambienteAchado = cadastro.pesquisarAmbiente(ExcluirAmbiente); cadastro.removerAmbiente(ambienteAchado); Console.WriteLine("Ambiente excluido com sucesso!\n"); break; } Console.WriteLine("Ambiente não encontrado\n"); break; case 4: Console.WriteLine("Digite o ID do usuario que gostaria de cadastrar: "); int idNovoUsuario = int.Parse(Console.ReadLine()); Console.WriteLine("Digite o nome do usuario que gostaria de cadastrar: "); string nomeNovoUsuario = Console.ReadLine(); Usuario novoUsuario = new Usuario(); novoUsuario.Id = idNovoUsuario; novoUsuario.Nome = nomeNovoUsuario; if (cadastro.pesquisarUsuario(novoUsuario) == null) { cadastro.adicionarUsuario(novoUsuario); Console.WriteLine("Usuario cadastrado com sucesso!\n"); break; } Console.WriteLine("ID do Usuario já cadastrado\n"); break; case 5: Console.WriteLine("Digite o ID do Usuario que gostaria de pesquisar: "); int idPesquisaUsuario = int.Parse(Console.ReadLine()); Usuario PesquisaUsuario = new Usuario(); PesquisaUsuario.Id = idPesquisaUsuario; if (cadastro.pesquisarUsuario(PesquisaUsuario) != null) { Usuario usuarioAchado = cadastro.pesquisarUsuario(PesquisaUsuario); Console.WriteLine("ID do usuario: " + usuarioAchado.Id); Console.WriteLine("Nome do usuario: " + usuarioAchado.Nome); Console.WriteLine(""); break; } Console.WriteLine("Usuario não encontrado\n"); break; case 6: Console.WriteLine("Digite o ID do Usuario que gostaria de Excluir: "); int idExcluirUsuario = int.Parse(Console.ReadLine()); Usuario ExcluirUsuario = new Usuario(); ExcluirUsuario.Id = idExcluirUsuario; if (cadastro.pesquisarUsuario(ExcluirUsuario) != null) { Usuario usuarioAchado = cadastro.pesquisarUsuario(ExcluirUsuario); if (cadastro.removerUsuario(usuarioAchado)) { Console.WriteLine("Usuario excluido com sucesso!\n"); } else { Console.WriteLine("Usuario possui uma permissão\n"); } break; } Console.WriteLine("Usuario não encontrado\n"); break; case 7: Console.WriteLine("Digite o ID do Usuario que gostaria de conceder permissão: "); idPesquisaUsuario = int.Parse(Console.ReadLine()); PesquisaUsuario = new Usuario(); PesquisaUsuario.Id = idPesquisaUsuario; Console.WriteLine("Digite o ID do ambiente da permissão: "); idPesquisaAmbiente = int.Parse(Console.ReadLine()); PesquisaAmbiente = new Ambiente(); PesquisaAmbiente.Id = idPesquisaAmbiente; if (cadastro.pesquisarUsuario(PesquisaUsuario) != null || cadastro.pesquisarAmbiente(PesquisaAmbiente) != null) { Usuario usuarioAchado = cadastro.pesquisarUsuario(PesquisaUsuario); Ambiente ambienteAchado = cadastro.pesquisarAmbiente(PesquisaAmbiente); usuarioAchado.concederPermissao(ambienteAchado); Console.WriteLine("Permissao concedida com sucesso!\n"); break; } Console.WriteLine("Usuario ou Ambiente não encontrado\n"); break; case 8: Console.WriteLine("Digite o ID do Usuario que gostaria de revogar permissão: "); idPesquisaUsuario = int.Parse(Console.ReadLine()); PesquisaUsuario = new Usuario(); PesquisaUsuario.Id = idPesquisaUsuario; Console.WriteLine("Digite o ID do ambiente da permissão: "); idPesquisaAmbiente = int.Parse(Console.ReadLine()); PesquisaAmbiente = new Ambiente(); PesquisaAmbiente.Id = idPesquisaAmbiente; if (cadastro.pesquisarUsuario(PesquisaUsuario) != null || cadastro.pesquisarAmbiente(PesquisaAmbiente) != null) { Usuario usuarioAchado = cadastro.pesquisarUsuario(PesquisaUsuario); Ambiente ambienteAchado = cadastro.pesquisarAmbiente(PesquisaAmbiente); usuarioAchado.revogarPermissao(ambienteAchado); Console.WriteLine("Permissao revogada com sucesso!\n"); break; } Console.WriteLine("Usuario ou Ambiente não encontrado\n"); break; case 9: Console.WriteLine("Digite o ID do Usuario que ira fazer o acesso: "); idPesquisaUsuario = int.Parse(Console.ReadLine()); PesquisaUsuario = new Usuario(); PesquisaUsuario.Id = idPesquisaUsuario; Console.WriteLine("Digite o ID do ambiente de acesso: "); idPesquisaAmbiente = int.Parse(Console.ReadLine()); PesquisaAmbiente = new Ambiente(); PesquisaAmbiente.Id = idPesquisaAmbiente; if (cadastro.pesquisarUsuario(PesquisaUsuario) != null || cadastro.pesquisarAmbiente(PesquisaAmbiente) != null) { Usuario usuarioAchado = cadastro.pesquisarUsuario(PesquisaUsuario); Ambiente ambienteAchado = cadastro.pesquisarAmbiente(PesquisaAmbiente); Log novoLog = new Log(); novoLog.DtAcesso = DateTime.Now; Console.WriteLine(novoLog.DtAcesso.ToString("dd/MM/yyyy HH:mm:ss")); novoLog.Usuario = usuarioAchado; if (usuarioAchado.Ambientes.Contains(ambienteAchado)) { novoLog.TipoAcesso = true; ambienteAchado.RegistrarLog(novoLog); Console.WriteLine("Acesso AUTORIZADO \n"); Console.WriteLine("Acesso registrado com sucesso!\n"); } else { novoLog.TipoAcesso = false; ambienteAchado.RegistrarLog(novoLog); Console.WriteLine("Acesso RECUSADO \n"); Console.WriteLine("Acesso registrado com sucesso!\n"); } break; } Console.WriteLine("Usuario ou Ambiente não encontrado\n"); break; case 10: Console.WriteLine("Digite o ID do ambiente da permissão: "); idPesquisaAmbiente = int.Parse(Console.ReadLine()); PesquisaAmbiente = new Ambiente(); PesquisaAmbiente.Id = idPesquisaAmbiente; if (cadastro.pesquisarAmbiente(PesquisaAmbiente) != null) { Ambiente ambienteAchado = cadastro.pesquisarAmbiente(PesquisaAmbiente); Console.WriteLine("1.Acessos Autorizados"); Console.WriteLine("2.Acessos Recusados"); Console.WriteLine("3.Todos os Acessos"); int opc2 = int.Parse(Console.ReadLine()); switch (opc2) { case 1: Console.WriteLine("\nAcessos Autorizados"); foreach (Log l in ambienteAchado.Logs) { if (l.TipoAcesso == true) { Console.WriteLine("ID: " + l.Usuario.Id + " Nome: " + l.Usuario.Nome + " Data do acesso" + l.DtAcesso.ToString("dd/MM/yyyy HH:mm:ss")); } } break; case 2: Console.WriteLine("\nAcessos Recusados"); foreach (Log l in ambienteAchado.Logs) { if (l.TipoAcesso == false) { Console.WriteLine("ID: " + l.Usuario.Id + " Nome: " + l.Usuario.Nome + " Data do acesso" + l.DtAcesso.ToString("dd/MM/yyyy HH:mm:ss")); } } break; case 3: Console.WriteLine("\nTodos os Acessos "); foreach (Log l in ambienteAchado.Logs) { string mensagem = ""; if (l.TipoAcesso) { mensagem = "Acesso permitido"; Console.WriteLine(mensagem + " ID: " + l.Usuario.Id + " Nome: " + l.Usuario.Nome + " Data do acesso" + l.DtAcesso.ToString("dd/MM/yyyy HH:mm:ss" + " ")); } else { mensagem = "Acesso negado"; Console.WriteLine(mensagem + " ID: " + l.Usuario.Id + " Nome: " + l.Usuario.Nome + " Data do acesso" + l.DtAcesso.ToString("dd/MM/yyyy HH:mm:ss" + " ")); } } break; } } break; default: Console.WriteLine("Opção inválida"); break; } }while (opc != 0); cadastro.upload(); Console.ReadKey(); }