private void gcUsuario_SelectedItemChanged(object sender, DevExpress.Xpf.Grid.SelectedItemChangedEventArgs e)
        {
            var usuFocado = gcUsuario.GetFocusedRow() as Usuario;

            BO_Perfil boPerfil = (BO_Perfil)FactoryBO <Perfil> .GetBO();

            BO_Empresa boEmpresa = (BO_Empresa)FactoryBO <Empresa> .GetBO();

            boEmpresa.Attach(emp); //  Antes a empresas estava utiliazando para um endereço "new" automatico///////////////////////////////////////////////////////////////////////////////////////

            //Preenche o Grid control Usuario perfil de acordo com o usuario linha focada
            usuarioPerfis = new ObservableCollection <UsuarioPerfil>();
            usuarioPerfis = IconUtil.ConverterL2OC(boUsuarioPerfil.ObterListaObjetoUsuario(usuFocado));

            ObservableCollection <Perfil> listaPerfil = new ObservableCollection <Perfil>();

            if (usuarioPerfis != null)
            {
                foreach (var item in usuarioPerfis)
                {
                    listaPerfil.Add(boPerfil.ObterPerfil(item));
                }

                //gcPerfilEmpresa.ItemsSource = listaPerfil;
                perfis = listaPerfil;
            }

            int linhaFocada = tvUsuario.FocusedRowHandle;

            if (tvUsuario.AllowEditing && ultimaLinhaFocada != linhaFocada)
            {
                MessageBox.Show("Finalize a operação antes de mudar de linha!", "Operação inválida");
                tvUsuario.FocusedRowHandle = ultimaLinhaFocada;
            }
        }
        public DominioSeguranca()
        {
            dbContext = EFDBContext.Instance;
            boUsuario = (BO_Usuario)FactoryBO <Usuario> .GetBO();

            boEmpresa = (BO_Empresa)FactoryBO <Empresa> .GetBO();

            boUsuarioPerfil = (BO_UsuarioPerfil)FactoryBO <UsuarioPerfil> .GetBO();

            boPerfilFuncionalidade = (BO_PerfilFuncionalidade)FactoryBO <PerfilFuncionalidade> .GetBO();

            boPerfil = (BO_Perfil)FactoryBO <Perfil> .GetBO();
        }
        private void btnAddPerfil_Click(object sender, RoutedEventArgs e)
        {
            frmTelaPrincipal.tabControlMenu.IsEnabled = false;
            tvUsuario.IsEnabled       = false;
            tvPerfilEmpresa.IsEnabled = false; //tvUsuarioPerfil.IsEnabled = false;

            btnSalvar.Visibility = Visibility.Collapsed;
            btnSalvarUsuarioPerfil.Visibility = Visibility.Visible;

            lPGcPerfilFuncionalidades.Visibility = Visibility.Collapsed;
            lPGcPerfil.Visibility = Visibility.Visible;

            habilitarBotoes(false);

            //perfis = bo.daoPerfil.ObterListaObjeto();

            BO_Perfil boPerfil = (BO_Perfil)FactoryBO <Perfil> .GetBO();

            var listaUsuarioPerfis = usuarioPerfis as ObservableCollection <UsuarioPerfil>;

            // Obter a Lista de todas as funcionalidades Cadastradas
            listaPerfisAtualizada = IconUtil.ConverterL2OC(boPerfil.ObterListaObjeto());

            foreach (var itemPerfil in listaPerfisAtualizada)
            {
                itemPerfil.isSelecionado = false;

                foreach (var itemUsuarioPerfil in listaUsuarioPerfis)
                {
                    if (itemUsuarioPerfil.perfil.id == itemPerfil.id)
                    {
                        itemPerfil.isSelecionado = true;
                    }
                }
            }

            gcPerfil.ItemsSource = listaPerfisAtualizada;
        }