/// <summary> /// Loga o usuário na aplicação /// </summary> private void Logar() { StringBuilder strValidacao = ValidarCampos(); // Verifica se as informações do usuário são válidas if (strValidacao.Length > 0) { MessageBox.Show(strValidacao.ToString(), "Login", MessageBoxButton.OK, MessageBoxImage.Information); } else { // Define se a sessão foi desbloqueada. Por padrão sempre é verdadeiro bool sessaoDesbloqueda = false; // Define os dados do Login Contrato.EntradaUsuario usuario = new Contrato.EntradaUsuario(); usuario.Usuario = new Contrato.Usuario(); usuario.Usuario.Login = txtLogin.Conteudo; usuario.Usuario.Senha = Comum.Util.CriptografiaMD5(txtSenha.Conteudo); usuario.Chave = Comum.Util.Chave; // Chama o serviço para logar na aplicação Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint()); Contrato.RetornoUsuario retUsuario = servBrasilDidaticos.UsuarioLogar(usuario); servBrasilDidaticos.Close(); // Verifica se o usuário já está logado if (retUsuario.Codigo == Contrato.Constantes.COD_REGISTRO_DUPLICADO) { MessageBox.Show(string.Format("Sessão Bloqueada!\nPor favor, solicite ao responsável o desbloqueio de sua sessão!", txtLogin.Conteudo), "Login", MessageBoxButton.OK, MessageBoxImage.Information); servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint()); Contrato.RetornoSessao retSessao = servBrasilDidaticos.SessaoListar(new Contrato.Sessao() { Login = usuario.Usuario.Login }); servBrasilDidaticos.Close(); WSessao wSessao = new WSessao(); wSessao.Usuario = retUsuario.Usuarios.FirstOrDefault(); wSessao.Sessao = retSessao.Sessoes.FirstOrDefault(); wSessao.ShowDialog(); sessaoDesbloqueda = wSessao.SessaoDesbloqueada; } // Verifica se o usuário foi desbloqueado if (sessaoDesbloqueda) { // Loga novamenente na aplicação servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint()); retUsuario = servBrasilDidaticos.UsuarioLogar(usuario); servBrasilDidaticos.Close(); } // Verifica se o usuário logou com sucesso if (retUsuario.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Guarda os dados do usuário Logado Comum.Util.UsuarioLogado = retUsuario.Usuarios.First(); // Esconde a tela de login this.Visibility = System.Windows.Visibility.Hidden; // Recupera os parâmetros Comum.Parametros.CarregarParametros(); //// Entra na tela principal WPrincipal wPrincipal = new WPrincipal(); wPrincipal.ShowDialog(); } else if (retUsuario.Codigo == Contrato.Constantes.COD_RETORNO_VAZIO) { MessageBox.Show(string.Format("Não foi possível entrar na aplicação!\nPor favor, verifique o usuário ou a senha informada!", txtLogin.Conteudo), "Login", MessageBoxButton.OK, MessageBoxImage.Information); } else MessageBox.Show(retUsuario.Mensagem, "Login", MessageBoxButton.OK, MessageBoxImage.Information); } }