Option Strict Off
Option Explicit On

Imports fatd_faturamento.BLL.Repositorio
Imports fatd_faturamento.ENTIDADE
Friend Class frmCadastroFeriados
    Inherits System.Windows.Forms.Form
    Private mItem As System.Windows.Forms.ListViewItem ' Objeto que controla a linha do listview
    Dim vCodigo As String
    Dim vResp As Short
    Dim vNew As Boolean
    Dim vCodOld As String

#Region "Propriedades"

    Private Sub frmCadFeriados_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load

        Try

            LigDesBotoes(False, False, False, True)
            PreencheCombobox()
            cmbTipoFeriado_SelectedIndexChanged(cmbTipoFeriado, New System.EventArgs())
            Me.dtpAnoCopia.Value = Me.dtpAno.Value
            lAtualizaList()

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub lvwFeriados_ColumnClick(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.ColumnClickEventArgs) Handles lvwFeriados.ColumnClick

        Dim ColumnHeader As System.Windows.Forms.ColumnHeader = lvwFeriados.Columns(eventArgs.Column)

        Try

            lvwFeriados.ListViewItemSorter = New ListViewItemComparer(eventArgs.Column)
            lvwFeriados.Sort()

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub lvwFeriados_DoubleClick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles lvwFeriados.DoubleClick

        Try

            If lvwFeriados.Items.Count > 0 Then

                cmdEditar_Click(cmdEditar, New System.EventArgs())

            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmbTipoFeriado_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmbTipoFeriado.SelectedIndexChanged


        Try
            If cmbTipoFeriado.SelectedIndex = -1 Then
                Me.fmeDados.Text = "Feriado "
            Else
                Me.fmeDados.Text = "Feriado " & cmbTipoFeriado.SelectedItem.ToString
            End If

            Me.cmbMunicipios.SelectedIndex = IIf(Me.cmbTipoFeriado.SelectedIndex = 2, 0, -1)
            Me.cmbMunicipios.Enabled = Me.cmbTipoFeriado.SelectedIndex = 2

            Me.dtpAno.Enabled = Me.cmbTipoFeriado.SelectedIndex > -1
            Me.cmdListar.Enabled = Me.cmbTipoFeriado.SelectedIndex > -1

            'Me.mfgDados.HighLight = MSFlexGridLib.HighLightSettings.flexHighlightNever
            'Me.mfgDados.Rows = 1

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmbMunicipios_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmbMunicipios.SelectedIndexChanged

        Try

            If Me.cmbTipoFeriado.SelectedIndex = 2 And Me.cmbMunicipios.SelectedIndex > -1 Then
                Me.dtpAno.Enabled = Me.cmbMunicipios.SelectedIndex > -1
                Me.cmdListar.Enabled = Me.cmbMunicipios.SelectedIndex > -1
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdCopiar_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdCopiar.Click


        Try

            LigDesBotoes(False, False, False, False)
            LigDesCamposCopia(True)
            Me.dtpAnoCopia.Value = Me.dtpAno.Value

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub cmdCancelaCopia_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdCancelaCopia.Click


        Try

            LigDesBotoes(True, lvwFeriados.Items.Count > 1, lvwFeriados.Items.Count > 1, True)
            LigDesCamposCopia(False)

            If lvwFeriados.Items.Count > 1 Then
                lvwFeriados.HideSelection = True
            Else
                Me.cmbTipoFeriado.Focus()
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub cmdEditar_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdEditar.Click

        Try

            lEdit()

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdNovaData_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdNovaData.Click


        Try

            lNew()

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdCancelar_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdCancelar.Click

        Try

            LigDesBotoes(True, lvwFeriados.Items.Count > 1, lvwFeriados.Items.Count > 1, True)
            LigDesCampos(False)

            If lvwFeriados.Items.Count > 1 Then
                lvwFeriados.HideSelection = True
            Else
                cmbTipoFeriado.Focus()
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub cmdSalvaCopia_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdSalvaCopia.Click


        Dim objFeriado As New entidadeFeriado
        Dim repositorioFeriado As New repositorioFeriado
        Dim dt As New DataTable

        Try


            If cmbTipoFeriado.SelectedIndex = -1 Then
                objFeriado.TIPO = String.Empty
            Else
                If cmbTipoFeriado.SelectedItem = "Federal" Then
                    objFeriado.TIPO = "F"
                ElseIf cmbTipoFeriado.SelectedItem = "Estadual" Then
                    objFeriado.TIPO = "E"
                ElseIf cmbTipoFeriado.SelectedItem = "Municipal" Then
                    objFeriado.TIPO = "M"
                End If
            End If

            objFeriado.DATA = dtpAnoCopia.Value

            If objFeriado.TIPO = "M" Then
                objFeriado.MUNICIPIO = Convert.ToInt32(DirectCast(cmbMunicipios.SelectedItem, entidadeMunic).CODNUM)
            End If

            dt = repositorioFeriado.SelectCount_1(objFeriado)

            If Convert.ToInt32(dt.Rows(0).ItemArray(0).ToString()) < 1 Then

                If lInsert_1() Then
                    MessageBox.Show("Feriado criado e copiado com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    lAtualizaList()
                    cmdCancelaCopia_Click(cmdCancelaCopia, New System.EventArgs())
                Else
                    MessageBox.Show("Feriado não pode ser criado e copiado!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Exit Sub
                End If

            Else

                MessageBox.Show("Não foi possível copiar, já existem registros para este ano!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)

            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdSalvar_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdSalvar.Click


        Dim objFeriado As New entidadeFeriado
        Dim repositorioFeriado As New repositorioFeriado
        Dim dt As New DataTable

        Try

            If Len(Trim(Me.txtDescricao.Text)) > 0 Then

                If cmbTipoFeriado.SelectedIndex = -1 Then
                    objFeriado.TIPO = String.Empty
                Else
                    If cmbTipoFeriado.SelectedItem = "Federal" Then
                        objFeriado.TIPO = "F"
                    ElseIf cmbTipoFeriado.SelectedItem = "Estadual" Then
                        objFeriado.TIPO = "E"
                    ElseIf cmbTipoFeriado.SelectedItem = "Municipal" Then
                        objFeriado.TIPO = "M"
                    End If
                End If

                objFeriado.DATA = dtpFeriado.Value

                If objFeriado.TIPO = "M" Then
                    objFeriado.MUNICIPIO = Convert.ToInt32(DirectCast(cmbMunicipios.SelectedItem, entidadeMunic).CODNUM)
                End If


                dt = repositorioFeriado.SelectCount(objFeriado)

                If Convert.ToInt32(dt.Rows(0).ItemArray(0).ToString()) > 0 Then

                    If lUpdate() Then
                        MessageBox.Show("Feriado atualizado com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        lAtualizaList()
                        cmdCancelar_Click(cmdCancelar, New System.EventArgs())
                    Else
                        MessageBox.Show("Feriado não pode ser atualizado!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        Exit Sub
                    End If

                Else

                    If lInsert() Then
                        MessageBox.Show("Feriado criado com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        lAtualizaList()
                        cmdCancelar_Click(cmdCancelar, New System.EventArgs())
                    Else
                        MessageBox.Show("Feriado não pode ser criado!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        Exit Sub
                    End If

                End If

            Else
                MessageBox.Show("É necessário digitar a descrição do feriado.", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                txtDescricao.Focus()
            End If


        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub
    Private Sub cmdFechar_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdFechar.Click

        Try

            lClose()

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdListar_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdListar.Click

        Try

            lAtualizaList()

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub frmCadFeriados_KeyPress(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress

        Dim KeyAscii As Short = Asc(eventArgs.KeyChar)

        Try

            If KeyAscii = System.Windows.Forms.Keys.Escape Then
                If Me.fmeEditar.Visible = False And Me.fmeEditar.Enabled = False Then
                    cmdFechar_Click(cmdFechar, New System.EventArgs())
                Else
                    cmdCancelar_Click(cmdCancelar, New System.EventArgs())
                End If
            End If

            eventArgs.KeyChar = Chr(KeyAscii)

            If KeyAscii = 0 Then
                eventArgs.Handled = True
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

#End Region

#Region "Métodos"

    Private Sub lAtualizaList()

        Dim objFeriado As New entidadeFeriado

        Try

            objFeriado.DATA = dtpAno.Value

            If cmbTipoFeriado.SelectedIndex = -1 Then
                objFeriado.TIPO = String.Empty
            Else
                If cmbTipoFeriado.SelectedItem = "Federal" Then
                    objFeriado.TIPO = "F"
                ElseIf cmbTipoFeriado.SelectedItem = "Estadual" Then
                    objFeriado.TIPO = "E"
                ElseIf cmbTipoFeriado.SelectedItem = "Municipal" Then
                    objFeriado.TIPO = "M"
                End If
            End If

            If objFeriado.TIPO = "M" Then
                objFeriado.MUNICIPIO = Convert.ToInt32(DirectCast(cmbMunicipios.SelectedItem, entidadeMunic).CODNUM)
            End If

            CarregarGrid(objFeriado)

            If lvwFeriados.Items.Count <> 0 Then

                lvwFeriados.Focus()
                lvwFeriados.Items.Item(0).Selected = True
                lvwFeriados.FocusedItem = lvwFeriados.Items.Item(0)
                lvwFeriados.Items.Item(0).EnsureVisible()

            End If

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Public Sub PrepararListView()

        Try

            lvwFeriados.Items.Clear()
            lvwFeriados.Columns.Clear()
            lvwFeriados.Columns.Add(String.Empty, "Código", 50)
            lvwFeriados.Columns.Add(String.Empty, "Data", 100)
            lvwFeriados.Columns.Add(String.Empty, "Descrição", 400)

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Public Sub CarregarGrid(ByRef objFeriado As entidadeFeriado)

        Try
            PrepararListView()
            For Each objFeriadoFor As entidadeFeriado In New repositorioFeriado().Select(objFeriado)
                AddListItem(mItem, objFeriadoFor)
            Next
        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Sub AddListItem(ByRef xItem As System.Windows.Forms.ListViewItem, ByRef objFeriado As entidadeFeriado)

        Try

            xItem = lvwFeriados.Items.Add(objFeriado.COD.ToString(), objFeriado.COD.ToString(), String.Empty)

            If (String.IsNullOrEmpty(Convert.ToString(objFeriado.DATA))) Then
                xItem.SubItems.Add(Space(1))
            Else
                xItem.SubItems.Add(objFeriado.DATA)
            End If

            If (String.IsNullOrEmpty(objFeriado.DESCRICAO)) Then
                xItem.SubItems.Add(Space(1))
            Else
                xItem.SubItems.Add(objFeriado.DESCRICAO)
            End If

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Sub PreencherValoresList(ByRef Items As String)

        vCodigo = Items

        Dim Item As ListViewItem


        Try

            For Each Item In lvwFeriados.Items

                If Item.Name = vCodigo Then

                    'Pega a Coluna 0
                    vCodOld = IIf(String.IsNullOrEmpty((Item.Text)), " ", (Item.Text))

                    'Para pegar os SubItems e so fazer o seguinte
                    dtpFeriado.Text = IIf(String.IsNullOrEmpty((Item.SubItems(1).Text)), " ", (Item.SubItems(1).Text))
                    txtDescricao.Text = IIf(String.IsNullOrEmpty((Item.SubItems(2).Text)), " ", (Item.SubItems(2).Text))


                End If


            Next

            LigDesBotoes(True, lvwFeriados.Items.Count > 1, lvwFeriados.Items.Count > 1, True)
            If lvwFeriados.Items.Count <= 1 Then
                cmdNovaData_Click(cmdNovaData, New System.EventArgs())
            End If

            Item = Nothing


        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Sub lEdit(ByRef Item As String)

        vCodigo = Item

        Try

            PreencherValoresList(vCodigo)

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Sub lEdit()

        Try

            LigDesBotoes(False, False, False, False)
            LigDesCampos(True)

            lEdit(lvwFeriados.FocusedItem.Name.Trim())

            dtpFeriado.Focus()

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Sub lClose()

        Try

            Close()

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Sub lNew()

        Try

            LigDesBotoes(False, False, False, False)
            LigDesCampos(True)
            lClear()

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Sub lClear()

        Try

            Me.dtpFeriado.Value = Date.Now.ToShortDateString()
            Me.txtDescricao.Text = String.Empty


        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Sub PreencheCombobox()

        Try

            PreencherMunic(cmbMunicipios)

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Sub LigDesBotoes(ByVal ablnNovo As Boolean, ByVal ablnEditar As Boolean, ByVal ablnExcluir As Boolean, ByVal ablnFechar As Boolean)

        Try

            cmdNovaData.Enabled = ablnNovo
            cmdEditar.Enabled = ablnEditar
            cmdExcluir.Enabled = ablnExcluir
            cmdFechar.Enabled = ablnFechar
            cmdListar.Enabled = ablnFechar
            cmdCopiar.Enabled = ablnEditar

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Sub LigDesCampos(ByVal ablnEdit As Boolean)

        Dim lintConta As Short

        Try

            Me.fmeEditar.Enabled = ablnEdit
            Me.fmeEditar.Visible = ablnEdit
            For lintConta = 0 To 2
                Me.lblAux(lintConta).Enabled = Not ablnEdit
            Next lintConta
            Me.cmbTipoFeriado.Enabled = Not ablnEdit
            Me.cmbMunicipios.Enabled = Not ablnEdit
            Me.dtpAno.Enabled = Not ablnEdit
            Me.fmeDados.Enabled = Not ablnEdit
            Me.lvwFeriados.Enabled = Not ablnEdit
            If ablnEdit = False Then
                Me.cmbMunicipios.Enabled = Me.cmbTipoFeriado.SelectedIndex = 2
            End If

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Sub LigDesCamposCopia(ByVal ablnEdit As Boolean)

        Dim lintConta As Short

        Try

            Me.fmeCopia.Enabled = ablnEdit
            Me.fmeCopia.Visible = ablnEdit
            For lintConta = 0 To 2
                Me.lblAux(lintConta).Enabled = Not ablnEdit
            Next lintConta
            Me.cmbTipoFeriado.Enabled = Not ablnEdit
            Me.cmbMunicipios.Enabled = Not ablnEdit
            Me.dtpAno.Enabled = Not ablnEdit
            Me.fmeDados.Enabled = Not ablnEdit
            Me.lvwFeriados.Enabled = Not ablnEdit
            If ablnEdit = False Then
                Me.cmbMunicipios.Enabled = Me.cmbTipoFeriado.SelectedIndex = 2
            End If

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Function lInsert() As Boolean

        Dim objFeriado As New entidadeFeriado
        Dim repositorioFeriado As New repositorioFeriado

        Try

            If cmbTipoFeriado.SelectedIndex = -1 Then
                objFeriado.TIPO = String.Empty
            Else
                If cmbTipoFeriado.SelectedItem = "Federal" Then
                    objFeriado.TIPO = "F"
                ElseIf cmbTipoFeriado.SelectedItem = "Estadual" Then
                    objFeriado.TIPO = "E"
                ElseIf cmbTipoFeriado.SelectedItem = "Municipal" Then
                    objFeriado.TIPO = "M"
                End If
            End If

            objFeriado.DATA = dtpFeriado.Value
            objFeriado.DESCRICAO = txtDescricao.Text

            If objFeriado.TIPO = "M" Then
                objFeriado.MUNICIPIO = Convert.ToInt32(DirectCast(cmbMunicipios.SelectedItem, entidadeMunic).CODNUM)
            End If


            repositorioFeriado.Insert(objFeriado)

            Return True
        Catch ex As Exception
            Return False
        End Try

    End Function

    Private Function lInsert_1() As Boolean

        Dim objFeriado As New entidadeFeriado
        Dim repositorioFeriado As New repositorioFeriado

        Try

            If cmbTipoFeriado.SelectedIndex = -1 Then
                objFeriado.TIPO = String.Empty
            Else
                If cmbTipoFeriado.SelectedItem = "Federal" Then
                    objFeriado.TIPO = "F"
                ElseIf cmbTipoFeriado.SelectedItem = "Estadual" Then
                    objFeriado.TIPO = "E"
                ElseIf cmbTipoFeriado.SelectedItem = "Municipal" Then
                    objFeriado.TIPO = "M"
                End If
            End If

            objFeriado.DATA = dtpAno.Value
            objFeriado.DESCRICAO = dtpAnoCopia.Value.ToShortDateString

            If objFeriado.TIPO = "M" Then
                objFeriado.MUNICIPIO = Convert.ToInt32(DirectCast(cmbMunicipios.SelectedItem, entidadeMunic).CODNUM)
            End If


            repositorioFeriado.Insert_1(objFeriado)

            Return True
        Catch ex As Exception
            'Return False
            MsgBox(Err.Description)
        End Try

    End Function

    Private Function lUpdate() As Boolean

        Dim objFeriado As New entidadeFeriado
        Dim repositorioFeriado As New repositorioFeriado


        Try


            If cmbTipoFeriado.SelectedIndex = -1 Then
                objFeriado.TIPO = String.Empty
            Else
                If cmbTipoFeriado.SelectedItem = "Federal" Then
                    objFeriado.TIPO = "F"
                ElseIf cmbTipoFeriado.SelectedItem = "Estadual" Then
                    objFeriado.TIPO = "E"
                ElseIf cmbTipoFeriado.SelectedItem = "Municipal" Then
                    objFeriado.TIPO = "M"
                End If
            End If

            objFeriado.DATA = dtpFeriado.Value
            objFeriado.DESCRICAO = txtDescricao.Text

            If objFeriado.TIPO = "M" Then
                objFeriado.MUNICIPIO = Convert.ToInt32(DirectCast(cmbMunicipios.SelectedItem, entidadeMunic).CODNUM)
            End If

            repositorioFeriado.Update(objFeriado)

            Return True
        Catch ex As Exception
            Return False
        End Try

    End Function

    Private Function lDelete(ByRef objFeriado As entidadeFeriado) As Boolean
        Dim repositorioFeriado As New repositorioFeriado
        Try

            repositorioFeriado.Delete2(objFeriado)

            Return True
        Catch ex As Exception
            Return False
            'MsgBox(Err.Description)
        End Try
    End Function
    Private Sub cmdExcluir_Click(sender As Object, e As EventArgs) Handles cmdExcluir.Click
        Dim objFeriado As New entidadeFeriado


        Try

            vResp = MessageBox.Show("Tem certeza de que deseja excluir o feriado de código: " & vCodigo & " ?" & vbCrLf & vbCrLf & "Esta operação não possui retorno.", "Confirmação de Exclusão", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)

            If vResp = DialogResult.Yes Then


                If cmbTipoFeriado.SelectedIndex = -1 Then
                    objFeriado.TIPO = String.Empty
                Else
                    If cmbTipoFeriado.SelectedItem = "Federal" Then
                        objFeriado.TIPO = "F"
                    ElseIf cmbTipoFeriado.SelectedItem = "Estadual" Then
                        objFeriado.TIPO = "E"
                    ElseIf cmbTipoFeriado.SelectedItem = "Municipal" Then
                        objFeriado.TIPO = "M"
                    End If
                End If

                ' objFeriado.DATA = dtpFeriado.Value
                objFeriado.COD = vCodigo

                If objFeriado.TIPO = "M" Then
                    objFeriado.MUNICIPIO = Convert.ToInt32(DirectCast(cmbMunicipios.SelectedItem, entidadeMunic).CODNUM)
                End If

                If Not lDelete(objFeriado) Then
                    MessageBox.Show("Feriado não pode ser excluído!", "Confirmação de Exclusão", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Exit Sub
                Else
                    MessageBox.Show("Feriado excluído com sucesso!", "Confirmação de Exclusão", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    lAtualizaList()
                    cmdCancelar_Click(cmdCancelar, New System.EventArgs())
                End If


            ElseIf vResp = DialogResult.Cancel Then
                Exit Sub
            End If


        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try
    End Sub







#End Region


End Class