Imports System.Data.SqlClient

Public Class frmCadastroFuncionario
    Dim _Operacao As clsFuncoesGerais.Operacao
    Public Property Operacao() As clsFuncoesGerais.Operacao
        Get
            Return _Operacao
        End Get
        Set(ByVal value As clsFuncoesGerais.Operacao)
            _Operacao = value
        End Set
    End Property
    Private _Codigo As Long
    Public Property Codigo() As Long
        Get
            Return _Codigo
        End Get
        Set(ByVal value As Long)
            _Codigo = value
        End Set
    End Property
    Private Sub btnSair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSair.Click
        'Fechar o formulário
        Me.Close()
    End Sub
    Private Sub formatacpf(ByVal txtTexto As Object)
        Try
            If Len(txtTexto.Text) = 3 Then
                txtTexto.Text = txtTexto.Text & "."
                txtTexto.SelectionStart = Len(txtTexto.Text) + 1
            ElseIf Len(txtTexto.Text) = 7 Then
                txtTexto.Text = txtTexto.Text & "."
                txtTexto.SelectionStart = Len(txtTexto.Text) + 1
            ElseIf Len(txtTexto.Text) = 11 Then
                txtTexto.Text = txtTexto.Text & "-"
                txtTexto.SelectionStart = Len(txtTexto.Text) + 1
            End If
        Catch ex As Exception
            MsgBox("Descrição do Erro : " + Err.Description + vbCrLf + "Erro Nr." + Err.Number)
        End Try
    End Sub
    Private Sub txtCPF_FUNC_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCPF_FUNC.KeyPress
        Try
            If IsNumeric(e.KeyChar) AndAlso txtCPF_FUNC.TextLength < txtCPF_FUNC.MaxLength Then
                'txtCPF_FUNC.Text &= e.KeyChar
                txtCPF_FUNC.SelectionStart = txtCPF_FUNC.TextLength
                Call formatacpf(txtCPF_FUNC)
            Else
                If Not Char.IsNumber(e.KeyChar) And Not Convert.ToInt32(e.KeyChar) = Keys.Back And Not Convert.ToInt32(e.KeyChar) = Keys.Delete Then
                    e.Handled = True
                End If
            End If
        Catch ex As Exception
            MsgBox("Descrição do Erro : " + Err.Description + vbCrLf + "Erro Nr." + Err.Number)
        End Try
    End Sub
    Private Sub txtCPF_FUNC_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtCPF_FUNC.Validating

        Try
            If Me.txtCPF_FUNC.Text = String.Empty OrElse Me.txtCPF_FUNC.Text.Length <> txtCPF_FUNC.MaxLength Then
                MsgBox("Informe um valor válido para CPF.(Formato: 999.999.999-99)", MsgBoxStyle.Critical)
                e.Cancel = False
                If Me.txtCPF_FUNC.Text = "" Then txtDOC1_FUNC.Focus()
            Else
                Dim cpf1 As New valida_CNPJ_CPF
                cpf1.cpf = txtCPF_FUNC.Text
                If cpf1.isCpfValido() Then
                    PictureBox1.Visible = True
                    PictureBox2.Visible = False
                Else
                    PictureBox1.Visible = False
                    PictureBox2.Visible = True
                End If
            End If
        Catch ex As Exception
            MsgBox("Descrição do Erro : " + Err.Description + vbCrLf + "Erro Nr." + Err.Number)
        End Try

    End Sub
    Private Sub frmCadastroFuncionario_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Me.AcceptButton = btnGravar

        Try
            If _Operacao = clsFuncoesGerais.Operacao.Alteracao Then
                txtCodigo_FUNC.Text = _Codigo
                Dim clsFuncionario As New clsFuncionario
                Dim dr As SqlDataReader
                dr = clsFuncionario.SelectFuncionariobyCode(_Codigo)
                If dr.Read = True Then
                    txtNOME_FUNC.Text = dr("NOME_FUNC")
                    txtENDERECO_FUNC.Text = dr("ENDERECO_FUNC") & ""
                    txtNUMERO_FUNC.Text = dr("NUMERO_FUNC") & ""
                    txtCOMPLEMENTO_FUNC.Text = dr("COMPLEMENTO_FUNC") & ""
                    txtBAIRRO_FUNC.Text = dr("BAIRRO_FUNC") & ""
                    mskCEP_FUNC.Text = dr("CEP_FUNC") & ""
                    txtCIDADE_FUNC.Text = dr("CIDADE_FUNC") & ""
                    txtESTADO_FUNC.Text = dr("ESTADO_FUNC") & ""
                    txtRG_FUNC.Text = dr("RG_FUNC") & ""
                    txtCPF_FUNC.Text = dr("CPF_FUNC") & ""
                    txtDOC1_FUNC.Text = dr("DOC1_FUNC") & ""
                    txtDOC2_FUNC.Text = dr("DOC2_FUNC") & ""
                    If dr("TELEFONE_FUNC") <> "" Then mskTELEFONE_FUNC.Text = dr("TELEFONE_FUNC")
                    If dr("TELEFAX_FUNC") <> "" Then mskTELEFAX_FUNC.Text = dr("TELEFAX_FUNC")
                    If dr("CELULAR_FUNC") <> "" Then mskCELULAR_FUNC.Text = dr("CELULAR_FUNC")
                    txtEMAIL_FUNC.Text = dr("EMAIL_FUNC") & ""
                End If
            End If
        Catch ex As Exception
            MsgBox("Descrição do Erro : " + Err.Description + vbCrLf + "Erro Nr." + Err.Number)
        End Try



    End Sub

    Private Sub btnGravar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGravar.Click


        If txtNOME_FUNC.Text.Equals(String.Empty) Then
            ErrError.SetError(txtNOME_FUNC, "Digite o nome do Funionario")
            txtNOME_FUNC.Focus()
            Exit Sub
        Else
            ErrError.SetError(txtNOME_FUNC, "")
        End If



        Dim clsFuncionario As New clsFuncionario
        With clsFuncionario
            .CODIGO_FUNC = clsFuncoesGerais.GetCodigo()
            .NOME_FUNC = txtNOME_FUNC.Text
            .ENDERECO_FUNC = txtENDERECO_FUNC.Text & ""
            .NUMERO_FUNC = txtNUMERO_FUNC.Text & ""
            .COMPLEMENTO_FUNC = txtCOMPLEMENTO_FUNC.Text & ""
            .BAIRRO_FUNC = txtBAIRRO_FUNC.Text & ""
            .CEP_FUNC = mskCEP_FUNC.Text & ""
            .CIDADE_FUNC = txtCIDADE_FUNC.Text & ""
            .ESTADO_FUNC = txtESTADO_FUNC.Text & ""
            .RG_FUNC = txtRG_FUNC.Text & ""
            .CPF_FUNC = txtCPF_FUNC.Text & ""
            .DOC1_FUNC = txtDOC1_FUNC.Text & ""
            .DOC2_FUNC = txtDOC2_FUNC.Text & ""
            .TELEFONE_FUNC = mskTELEFONE_FUNC.Text & ""
            .TELEFAX_FUNC = mskTELEFAX_FUNC.Text & ""
            .CELULAR_FUNC = mskCELULAR_FUNC.Text & ""
            .EMAIL_FUNC = txtEMAIL_FUNC.Text & ""

        End With

        If _Operacao = clsFuncoesGerais.Operacao.Inclusao Then
            Try
                clsFuncionario.InsertFuncionario()
                MessageBox.Show("Registro gravado com sucesso!", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.Close()
                frmConsultaFuncionario.Carregagrid()
            Catch ex As Exception
                MessageBox.Show("Erro no registro de Funcionário, verifique os dados", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try
        ElseIf _Operacao = clsFuncoesGerais.Operacao.Alteracao Then

            Try
                clsFuncionario.CODIGO_FUNC = _Codigo
                clsFuncionario.UpdateFuncionario(_Codigo)
                MessageBox.Show("Registro alterado com sucesso!", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.Close()
                frmConsultaFuncionario.Carregagrid()
            Catch ex As Exception
                MessageBox.Show("Erro na alteração do registro de Funcionário, verifique os dados", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try
        End If


    End Sub


End Class
