/// <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 ); } }