コード例 #1
0
        /// <summary>
        /// Método para editar funcionário via GUI
        /// </summary>
        private void EditEmploye()
        {
            //Verificando se campos estão preenchidos
            if (IsValidFields())
            {
                string cpf = cpfEdit.Text.Replace(".", "").Replace("-", "").Replace("_", ".");
                string cep = cepEdit.Text.Replace("-", "").Replace("_", "");
                if (Validator.IsCpf(cpf))    //Validando documentos
                {
                    try {
                        //Recuperando dados do funcionário
                        ComboBoxItem selected = cbState.Items[cbState.SelectedIndex] as ComboBoxItem;
                        aux.adress.street       = AdressEdit.Text;
                        aux.adress.city         = CityEdit.Text;
                        aux.adress.neighborhood = NeighboorhoodEdit.Text;
                        aux.adress.number       = NumberEdit.Text;
                        aux.adress.UF           = selected.Content.ToString();
                        aux.adress.CEP          = cep;
                        aux.name      = NameEdit.Text;
                        aux.cpf       = cpf;
                        aux.admission = admissionEdit.Text;
                        aux.job       = RoleEdit.Text;
                        if (cbActive.SelectedIndex == 1)
                        {
                            aux.Inactivate();
                        }
                        else
                        {
                            aux.Activate();
                        }
                        if (cbHasUser.SelectedIndex == 2)
                        {
                            aux.role = "none";
                            aux.user = null;
                        }
                        else
                        {
                            if (cbHasUser.SelectedIndex == 1)
                            {
                                aux.role = "User";
                            }
                            else
                            {
                                aux.role = "Admin";
                            }
                            aux.user = new User(usernameEdit.Text, passwordEdit.Password);
                        }

                        //Alterando registro no banco
                        dao.EditEmploye(aux);

                        //Registrando log de alteração
                        Model.Log edited = new Model.Log();
                        edited.employe = _employe;
                        edited.action  = "Funcionário {aux.name} com ID = {aux.id} sofreu alteração no sistema!";
                        logs.Register(edited);

                        //Atualizando grid e limpando campos de texto
                        RefreshGrid();
                        ClearFields();
                        BlockFields();
                        actionIndex = -1;
                        aux         = null;
                    }
                    catch (DatabaseEditException err) {
                        //Retornando mensagem de erro para usuário
                        MessageBox.Show(
                            err.Message,
                            "Erro ao gravar dados",
                            MessageBoxButton.OK,
                            MessageBoxImage.Error);
                    }
                }
                else
                {
                    //Retornando mensagem de validação
                    MessageBox.Show(
                        "CPF ou RG Inválido(s)",
                        "Dados incorretos!",
                        MessageBoxButton.OK,
                        MessageBoxImage.Warning
                        );
                }
            }
            else
            {
                //Mostrando alerta de validação
                MessageBox.Show(
                    "Há Campos Vazios",
                    "Erro de Prenchimento de Formulário",
                    MessageBoxButton.OK,
                    MessageBoxImage.Warning
                    );
            }
        }