Beispiel #1
0
        /// <summary>
        /// Método para adicionar funcionário no banco
        /// </summary>
        /// <param name="emp"></param>
        public void AddEmploye(Employe emp)
        {
            try {
                //Abrindo conexão
                conn.Open();

                //Definindo comando para inserção
                string command = $"BEGIN; insert into {Refs.TABLE_ADRESS}" +
                                 $"(rua, numero, bairro, cidade, uf, cep) values (" +
                                 $"@street, @number, @neighborhood, @city, @uf, @cep);" +
                                 $"insert into {Refs.TABLE_PEOPLE}(id_endereco, nome_pessoa, status) values (" +
                                 $"last_insert_id(), @name, @status);" +
                                 $"insert into {Refs.TABLE_EMPLOYES}(id_pessoa, permissao, cpf, " +
                                 $"data_admissao, funcao) values (" +
                                 $"last_insert_id(), @role, @cpf, " +
                                 $"@admission, @job);";
                if (emp.user != null)
                {
                    command += $"insert into {Refs.TABLE_USERS}(id_funcionario, login, password) values (" +
                               $"last_insert_id(), @username, @password);";
                }
                command += $" COMMIT;";

                //Definindo objetos para inserção dos dados
                MySqlCommand cmd = new MySqlCommand(command, conn)
                {
                    CommandType = CommandType.Text
                };

                //Definindo parametros para inserção
                cmd.Parameters.Add(new MySqlParameter("@street", emp.adress.street));
                cmd.Parameters.Add(new MySqlParameter("@number", emp.adress.number));
                cmd.Parameters.Add(new MySqlParameter("@neighborhood", emp.adress.neighborhood));
                cmd.Parameters.Add(new MySqlParameter("@city", emp.adress.city));
                cmd.Parameters.Add(new MySqlParameter("@uf", emp.adress.UF));
                cmd.Parameters.Add(new MySqlParameter("@cep", emp.adress.CEP));
                cmd.Parameters.Add(new MySqlParameter("@name", emp.name));
                cmd.Parameters.Add(new MySqlParameter("@status", emp.IsActive()));
                cmd.Parameters.Add(new MySqlParameter("@role", emp.role));
                cmd.Parameters.Add(new MySqlParameter("@cpf", emp.cpf));
                cmd.Parameters.Add(new MySqlParameter("@admission", emp.admission));
                cmd.Parameters.Add(new MySqlParameter("@job", emp.job));

                //Caso funcionário possuir usuário
                if (emp.user != null)
                {
                    cmd.Parameters.Add(new MySqlParameter("@username", emp.user.GetLogin()));
                    cmd.Parameters.Add(new MySqlParameter("@password", emp.user.GetEncryptedCode()));
                }

                //Preparando comando com os parametros
                cmd.Prepare();

                //Executando inserção
                cmd.ExecuteNonQuery();

                //Fechando conexão com banco
                conn.Close();

                //Mensagem de sucesso
                MessageBox.Show(
                    "Funcionário Inserido!",
                    "Sucesso",
                    MessageBoxButton.OK,
                    MessageBoxImage.Information
                    );
            }
            catch (MySqlException err) {
                //Fechando a conexão e retornando erro ao usuário
                conn.Close();
                MessageBox.Show(err.Message);
                throw new DatabaseInsertException();
            }
        }
Beispiel #2
0
        /// <summary>
        /// Evento ao selecionar algum funcionario
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        private void dgUsuarios_SelectionChanged(object sender, SelectionChangedEventArgs args)
        {
            //Verificando se ha seleção feita
            if (dgUsuarios.SelectedItems.Count > 0)
            {
                //Recuperando dados do cliente selecionado
                Employe source = dgUsuarios.SelectedItem as Employe;
                aux = dao.GetEmployeData(source.id);

                //Preenchendo campos (Comboboxes)
                if (aux.IsActive())
                {
                    cbActive.SelectedIndex = 0;
                }
                else
                {
                    cbActive.SelectedIndex = 1;
                }
                if (aux.role.Equals("none"))
                {
                    cbHasUser.SelectedIndex = 2;
                }
                else if (aux.role.Equals("User"))
                {
                    cbHasUser.SelectedIndex = 1;
                }
                else
                {
                    cbHasUser.SelectedIndex = 0;
                }

                //Recuperando Estado
                int index = -1;
                foreach (ComboBoxItem item in cbState.Items)
                {
                    index++;
                    if (item.Content.Equals(aux.adress.UF))
                    {
                        break;
                    }
                }
                cbState.SelectedIndex = index;

                //Preenchendo campos (Textboxes)
                NameEdit.Text          = aux.name;
                cpfEdit.Text           = aux.cpf;
                AdressEdit.Text        = aux.adress.street;
                NeighboorhoodEdit.Text = aux.adress.neighborhood;
                cepEdit.Text           = aux.adress.CEP;
                NumberEdit.Text        = aux.adress.number;
                CityEdit.Text          = aux.adress.city;
                admissionEdit.Text     = aux.admission;
                RoleEdit.Text          = aux.job;

                //Dados de usuário
                if (aux.user != null)
                {
                    //Preenchendo dados do usuário
                    usernameEdit.Text     = aux.user.GetLogin();
                    passwordEdit.Password = aux.user.GetPassword();
                }

                //Definindo ação como nula
                actionIndex = -1;

                //Desabiilitando campos e preenchendo com dados
                BlockFields();
            }
        }
Beispiel #3
0
        /// <summary>
        /// Método para alterar funcionário no banco
        /// </summary>
        /// <param name="emp"></param>
        public void EditEmploye(Employe emp)
        {
            try {
                //Abrindo conexão
                conn.Open();

                //Definindo comando para inserção
                string command = $"BEGIN; update {Refs.TABLE_ADRESS} set " +
                                 $"rua = @street, numero = @number, bairro = @neighborhood," +
                                 $"cidade = @city, uf = @uf, cep = @cep " +
                                 $"where id_endereco = @id_endereco;" +
                                 $"update {Refs.TABLE_PEOPLE} set nome_pessoa = @name, status = @status " +
                                 $"where id_pessoa = @id_pessoa;" +
                                 $"update {Refs.TABLE_EMPLOYES} set permissao = @role, cpf = @cpf, " +
                                 $"data_admissao = @admission, funcao = @job " +
                                 $"where id_funcionario = @id_funcionario;";
                if (emp.user != null)
                {
                    command += $"replace into {Refs.TABLE_USERS}(id_funcionario, login, password) values (" +
                               $"@id_funcionario, @username, @password);";
                }
                else
                {
                    command += $"delete from {Refs.TABLE_USERS} where id_funcionario = @id_funcionario;";
                }
                command += $" COMMIT;";

                //Definindo objetos para inserção dos dados
                MySqlCommand cmd = new MySqlCommand(command, conn)
                {
                    CommandType = CommandType.Text
                };

                //Definindo parametros para inserção
                cmd.Parameters.Add(new MySqlParameter("@id_endereco", emp.adress.id));
                cmd.Parameters.Add(new MySqlParameter("@id_pessoa", emp.id_person));
                cmd.Parameters.Add(new MySqlParameter("@id_funcionario", emp.id));
                cmd.Parameters.Add(new MySqlParameter("@street", emp.adress.street));
                cmd.Parameters.Add(new MySqlParameter("@number", emp.adress.number));
                cmd.Parameters.Add(new MySqlParameter("@neighborhood", emp.adress.neighborhood));
                cmd.Parameters.Add(new MySqlParameter("@city", emp.adress.city));
                cmd.Parameters.Add(new MySqlParameter("@uf", emp.adress.UF));
                cmd.Parameters.Add(new MySqlParameter("@cep", emp.adress.CEP));
                cmd.Parameters.Add(new MySqlParameter("@name", emp.name));
                cmd.Parameters.Add(new MySqlParameter("@status", emp.IsActive()));
                cmd.Parameters.Add(new MySqlParameter("@role", emp.role));
                cmd.Parameters.Add(new MySqlParameter("@cpf", emp.cpf));
                cmd.Parameters.Add(new MySqlParameter("@admission", emp.admission));
                cmd.Parameters.Add(new MySqlParameter("@job", emp.job));

                //Caso funsionário possuir usuário
                if (emp.user != null)
                {
                    cmd.Parameters.Add(new MySqlParameter("@username", emp.user.GetLogin()));
                    cmd.Parameters.Add(new MySqlParameter("@password", emp.user.GetEncryptedCode()));
                }

                //Preparando comando com os parametros
                cmd.Prepare();

                //Executando inserção
                cmd.ExecuteNonQuery();

                //Fechando conexão com banco
                conn.Close();

                //Mensagem de sucesso
                MessageBox.Show(
                    "Funcionário Atualizado!",
                    "Sucesso",
                    MessageBoxButton.OK,
                    MessageBoxImage.Information
                    );
            }
            catch (MySqlException) {
                //Fechando conexão e retornando erro
                conn.Close();
            }
        }