private void PreencherResponsavel()
        {
            Contrato.EntradaUsuario entradaUsuario = new Contrato.EntradaUsuario();
            entradaUsuario.Chave = Comum.Util.Chave;
            entradaUsuario.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
            entradaUsuario.EmpresaLogada = Comum.Util.UsuarioLogado.Empresa;
            entradaUsuario.PreencherListaSelecao = true;
            entradaUsuario.Usuario = new Contrato.Usuario() { Ativo = true };

            // Se o perfil para orçamentista está definido
            if (Comum.Parametros.CodigoPerfilOrcamentista != null)
            {
                entradaUsuario.Usuario.Perfis = new List<Contrato.Perfil>();
                entradaUsuario.Usuario.Perfis.Add(new Contrato.Perfil() { Codigo = Comum.Parametros.CodigoPerfilOrcamentista });
            }

            Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
            Contrato.RetornoUsuario retUsuario = servBrasilDidaticos.UsuarioListar(entradaUsuario);
            servBrasilDidaticos.Close();

            bool incluiuLogado = false;

            if (retUsuario.Usuarios != null)
            {
                foreach (Contrato.Usuario usuario in retUsuario.Usuarios.OrderBy(u => u.Nome))
                {
                    cmbResponsavel.ComboBox.Items.Add(new ComboBoxItem()
                    {
                        Uid = usuario.Id.ToString(),
                        Content = usuario.Nome,
                        Tag = usuario,
                        IsSelected = (_orcamento != null && _orcamento.Responsavel != null) ? usuario.Id == _orcamento.Responsavel.Id : false
                    });

                    if (!incluiuLogado) incluiuLogado = usuario.Login == Comum.Util.UsuarioLogado.Login;
                }
            }

            if (!incluiuLogado)
            {
                cmbResponsavel.ComboBox.Items.Add(new ComboBoxItem()
                {
                    Uid = Comum.Util.UsuarioLogado.Id.ToString(),
                    Content = Comum.Util.UsuarioLogado.Nome,
                    Tag = Comum.Util.UsuarioLogado,
                    IsSelected = true
                });

            }
        }
        private void PreencherVendedor()
        {
            Contrato.EntradaUsuario entradaUsuario = new Contrato.EntradaUsuario();
            entradaUsuario.Chave = Comum.Util.Chave;
            entradaUsuario.PreencherListaSelecao = true;
            entradaUsuario.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
            entradaUsuario.EmpresaLogada = Comum.Util.UsuarioLogado.Empresa;
            entradaUsuario.Usuario = new Contrato.Usuario() { Ativo = true };

            // Se o perfil para vendedor está definido
            if (Comum.Parametros.CodigoPerfilVendedor != null)
            {
                entradaUsuario.Usuario.Perfis = new List<Contrato.Perfil>();
                entradaUsuario.Usuario.Perfis.Add(new Contrato.Perfil() { Codigo = Comum.Parametros.CodigoPerfilVendedor });

                Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
                Contrato.RetornoUsuario retUsuario = servBrasilDidaticos.UsuarioListar(entradaUsuario);
                servBrasilDidaticos.Close();

                if (retUsuario.Usuarios != null)
                {
                    foreach (Contrato.Usuario usuario in retUsuario.Usuarios.OrderBy(u => u.Nome))
                    {
                        cmbVendedor.ComboBox.Items.Add(new ComboBoxItem()
                        {
                            Uid = usuario.Id.ToString(),
                            Content = usuario.Nome,
                            Tag = usuario,
                            IsSelected = (_orcamento != null && _orcamento.Vendedor != null ? usuario.Id == _orcamento.Vendedor.Id : false)
                        });
                    }
                }
            }
            else
            {
                MessageBox.Show("Para incluir um novo Orçamento é necessário que exista um perfil 'Vendedor' configurado corretamente.", "Orçamento", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
Пример #3
0
        /// <summary>
        /// Loga o usuário na aplicação
        /// </summary>
        private void DesbloquearUsuario()
        {
            StringBuilder strValidacao = ValidarCampos();

            // Verifica se as informações do usuário são válidas
            if (strValidacao.Length > 0)
            {
                MessageBox.Show(strValidacao.ToString(), "Sessão", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            else
            {
                // 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 logou com sucesso
                if (retUsuario.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO || retUsuario.Codigo == Contrato.Constantes.COD_REGISTRO_DUPLICADO)
                {
                    // Se o usuáio possui permissão para desbloqueio
                    if (_sessao != null &&
                        Comum.Util.ValidarPermissao(retUsuario.Usuarios.First(), Comum.Constantes.TELA_SESSAO, Comum.Constantes.PERMISSAO_DESBLOQUEAR_USUARIO) &&
                        retUsuario.Usuarios.First().Empresa.Id == _usuario.Empresa.Id)
                    {
                        servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
                        servBrasilDidaticos.SessaoExcluir(new Contrato.Sessao() { Login = _sessao.Login, Chave = _sessao.Chave });
                        servBrasilDidaticos.Close();
                        SessaoDesbloqueada = true;

                        // Se está duplicado significa que o usuário já está logado, então não apaga a sua sessão
                        if (retUsuario.Codigo != Contrato.Constantes.COD_REGISTRO_DUPLICADO)
                        {
                            // Chama o serviço para apagar a sessão do usuário que possui permissão para o desbloqueio
                            servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
                            servBrasilDidaticos.SessaoExcluir(new Contrato.Sessao() { Login = usuario.Usuario.Login, Chave = usuario.Chave });
                            servBrasilDidaticos.Close();
                        }

                        // Fecha a tela de Sessão
                        this.Close();
                    }
                }

                if (!SessaoDesbloqueada)
                {
                    MessageBox.Show(string.Format("Não foi possível desbloquear a sessão do usuário!\nPor favor, verifique o usuário ou a senha informada!", txtLogin.Conteudo), "Sessão", MessageBoxButton.OK, MessageBoxImage.Information);
                }
            }
        }
        private void PreencherVendedor()
        {
            Contrato.EntradaUsuario entradaUsuario = new Contrato.EntradaUsuario();
            entradaUsuario.Chave = Comum.Util.Chave;
            entradaUsuario.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
            entradaUsuario.EmpresaLogada = Comum.Util.UsuarioLogado.Empresa;
            entradaUsuario.PreencherListaSelecao = true;
            entradaUsuario.Usuario = new Contrato.Usuario() { Ativo = true };

            // Se o perfil para vendedor está definido
            if (Comum.Parametros.CodigoPerfilVendedor != null)
            {
                entradaUsuario.Usuario.Perfis = new List<Contrato.Perfil>();
                entradaUsuario.Usuario.Perfis.Add(new Contrato.Perfil() { Codigo = Comum.Parametros.CodigoPerfilVendedor });

                Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
                Contrato.RetornoUsuario retUsuario = servBrasilDidaticos.UsuarioListar(entradaUsuario);
                servBrasilDidaticos.Close();

                if (retUsuario.Usuarios != null)
                {
                    cmbVendedor.ComboBox.Items.Clear();
                    cmbVendedor.ComboBox.Items.Add(new ComboBoxItem() { Uid = Guid.Empty.ToString(), Content = "Todos" });
                    foreach (Contrato.Usuario usuario in retUsuario.Usuarios.OrderBy(u => u.Nome))
                    {
                        cmbVendedor.ComboBox.Items.Add(new ComboBoxItem() { Uid = usuario.Id.ToString(), Content = usuario.Nome, Tag = usuario });
                    }
                }
            }
        }
        private void ListarUsuarios(bool mostrarMsgVazio)
        {
            Contrato.EntradaUsuario entUsuario = new Contrato.EntradaUsuario();
            entUsuario.Chave = Comum.Util.Chave;
            entUsuario.Usuario = new Contrato.Usuario();
            entUsuario.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
            entUsuario.EmpresaLogada = Comum.Util.UsuarioLogado.Empresa;

            PreencherFiltro(entUsuario.Usuario);

            Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
            Contrato.RetornoUsuario retUsuario = servBrasilDidaticos.UsuarioListar(entUsuario);
            servBrasilDidaticos.Close();

            dgUsuarios.ItemsSource = retUsuario.Usuarios.OrderBy(o => o.Nome);

            if (mostrarMsgVazio && retUsuario.Codigo == Contrato.Constantes.COD_RETORNO_VAZIO)
                MessageBox.Show(retUsuario.Mensagem, "Usuario", MessageBoxButton.OK, MessageBoxImage.Information);
        }
Пример #6
0
        /// <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);
            }
        }
        private bool SalvarUsuario()
        {
            bool salvou = true;

            _strValidacao = ValidarCampos();

            // Verifica se as informações do usuário são válidas
            if (_strValidacao.Length > 0)
            {
                MessageBox.Show(_strValidacao.ToString(), "Usuário", MessageBoxButton.OK, MessageBoxImage.Information);
                salvou = false;
            }
            else
            {
                Contrato.EntradaUsuario entUsuario = new Contrato.EntradaUsuario();
                entUsuario.Chave = Comum.Util.Chave;
                entUsuario.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
                entUsuario.EmpresaLogada = Comum.Util.UsuarioLogado.Empresa;
                entUsuario.Usuario = new Contrato.Usuario();

                if (_usuario == null)
                    entUsuario.Novo = true;
                else
                    entUsuario.Usuario.Id = _usuario.Id;

                PreencherDadosUsuario(entUsuario.Usuario);

                Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
                Contrato.RetornoUsuario retUsuario = servBrasilDidaticos.UsuarioSalvar(entUsuario);
                servBrasilDidaticos.Close();

                if (retUsuario.Codigo != Contrato.Constantes.COD_RETORNO_SUCESSO)
                {
                    MessageBox.Show(retUsuario.Mensagem, "Usuario", MessageBoxButton.OK, MessageBoxImage.Error);
                    salvou = false;
                }
            }

            return salvou;
        }