示例#1
0
        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));
                }
            }
        }