private void Salvar(object objParam) { var focusedElement = Keyboard.FocusedElement as FrameworkElement; if (focusedElement is TextBox) { var expression = focusedElement.GetBindingExpression(TextBox.TextProperty); if (expression != null && expression.ParentBinding.UpdateSourceTrigger == System.Windows.Data.UpdateSourceTrigger.LostFocus) { expression.UpdateSource(); } } Validate(); if (!HasErrors) { objPerfilAcesso.tbPerfilAcessoMenu.Clear(); foreach (PerfilAcessoMenuViewModel objPerfilAcessoMenuViewModel in arrPerfilAcessoMenuViewModel) { objPerfilAcesso.tbPerfilAcessoMenu.Add(objPerfilAcessoMenuViewModel.objPerfilAcessoMenu); } Retorno objRetorno; using (var objBLL = new PerfilAcesso()) { objRetorno = objBLL.SalvarPerfilAcesso(objPerfilAcesso, FrameworkUtil.objConfigStorage.objFuncionario.fun_codigo); } if (objRetorno.intCodigoErro == 0) { if (objPerfilAcesso.pac_codigo == FrameworkUtil.objConfigStorage.objPerfilAcesso.pac_codigo) { MessageBox.Show("O perfil do funcionário atual foi alterado, será necessário fechar o sistema!", "Atenção", MessageBoxButton.OK, MessageBoxImage.Exclamation); Util.FecharSistema(); } else { objPerfilAcesso = null; ClearAllErrorsAsync(); base.enStatusTelaAtual = enStatusTela.Navegacao; Pesquisar(null); } } else { MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro)); } } }