Option Strict Off
Option Explicit On

Imports fatd_faturamento.BLL.Repositorio
Imports fatd_faturamento.ENTIDADE
Friend Class frmCadastroUnidadeConsumidoraCeg
    Inherits System.Windows.Forms.Form
    Dim vResp As Short
    Dim vNew As Boolean

#Region "Propriedades"

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

        Try


        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 txtClas_TextChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtClas.TextChanged

        Try

            If IsNumeric(Me.txtClas.Text) Then
                If Trim(Me.txtClas.Text) <> "0" Then
                    If Trim(Me.txtDescricao_Clas.Text) = String.Empty Then
                        Me.txtDescricao_Clas.Text = GetValorTabela("classe", "descricao", "codigo = '" & Me.txtClas.Text & "'", "")
                    End If
                End If
            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 txtid_TextChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtId.TextChanged

        Try

            vNew = IIf(Me.txtId.Text = "0" Or Me.txtId.Text = String.Empty, True, False)

        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 cmdLocalizar_Ceg_Modalidade_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdLocalizar_Ceg_Modalidade.Click

        Try

            frmLocalizadorGeral.SetParametros("ceg_modalidade", "CEG - Modalidade", Me)
            frmLocalizadorGeral.Show()

        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 cmdLocalizar_Ceg_Situacao_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdLocalizar_Ceg_Situacao.Click

        Try

            frmLocalizadorGeral.SetParametros("ceg_situacao", "CEG - Situação", Me)
            frmLocalizadorGeral.Show()

        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 cmdLocalizar_Ceg_Tipos_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdLocalizar_Ceg_Tipos.Click

        Try

            frmLocalizadorGeral.SetParametros("ceg_tipos", "CEG - Tipos", Me)
            frmLocalizadorGeral.Show()

        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 cmdLocalizar_Click(sender As Object, e As EventArgs) Handles cmdLocalizar.Click

        Try

            frmLocalizadorGeral.SetParametros("unidade_consumidora_ceg", Me.Text, Me)
            frmLocalizadorGeral.Show()

        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 cmdNovo_Click(sender As Object, e As EventArgs) Handles cmdNovo.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 cmdExcluir_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdExcluir.Click

        Dim objUnidadeConsumidoraCeg As New entidadeUnidadeConsumidoraCeg


        Try

            If Trim(Me.txtId.Text) <> "0" Then

                vResp = MessageBox.Show("Esta operação não possui retorno!" & vbCrLf & vbCrLf & "Tem certeza de que deseja excluir este registro?", "Confirmação de Exclusão", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)

                If vResp = DialogResult.Yes Then

                    objUnidadeConsumidoraCeg.ID = Convert.ToInt32(txtId.Text)

                    If Not lDelete(objUnidadeConsumidoraCeg) Then

                        MessageBox.Show("Unidade Consumidora Ceg não pode ser excluído!", "Confirmação de Exclusão", MessageBoxButtons.OK, MessageBoxIcon.Information)

                        vResp = MessageBox.Show("Esta operação não possui retorno!" & vbCrLf & vbCrLf & "Tem certeza de que deseja desativar este registro?", "Confirmação de Exclusão", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)

                        If vResp = DialogResult.Yes Then

                            If Not lUpdate_1(objUnidadeConsumidoraCeg) Then
                                MessageBox.Show("Unidade Consumidora Ceg não pode ser alterado!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                                Exit Sub
                            Else
                                MessageBox.Show("Unidade Consumidora Ceg alterado com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                                SetaCodigo("unidade_consumidora_ceg", CInt(Me.txtId.Text))
                            End If

                        ElseIf vResp = DialogResult.Cancel Then
                            Exit Sub
                        End If

                    Else
                        MessageBox.Show("Unidade Consumidora Ceg excluído com sucesso!", "Confirmação de Exclusão", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    End If

                ElseIf vResp = DialogResult.Cancel Then
                    Exit Sub
                End If

            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 objUnidadeConsumidoraCeg As New entidadeUnidadeConsumidoraCeg
        Dim repositorioUnidadeConsumidoraCeg As New repositorioUnidadeConsumidoraCeg

        Dim vlist

        Try

            If vNew = True Then

                If Me.txtId.Text = "0" Then

                    If lInsert() Then

                        MessageBox.Show("Unidade Consumidora Ceg criada com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)

                        vlist = repositorioUnidadeConsumidoraCeg.SelectMax(objUnidadeConsumidoraCeg)

                        For Each objUnidadeConsumidoraCegFor As entidadeUnidadeConsumidoraCeg In vlist
                            Me.txtId.Text = CStr(CInt(IIf(IsDBNull(objUnidadeConsumidoraCegFor.ID), 0, objUnidadeConsumidoraCegFor.ID)))
                        Next

                        SetaCodigo("unidade_consumidora_ceg", CInt(Me.txtId.Text))

                    Else
                        MessageBox.Show("Unidade Consumidora Ceg não pode ser criada!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        Exit Sub
                    End If

                End If

            Else

                If Me.txtId.Text <> "0" Then

                    If lUpdate() Then

                        MessageBox.Show("Unidade Consumidora Ceg atualizada com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)

                        vlist = repositorioUnidadeConsumidoraCeg.SelectMax(objUnidadeConsumidoraCeg)

                        For Each objUnidadeConsumidoraCegFor As entidadeUnidadeConsumidoraCeg In vlist
                            Me.txtId.Text = CStr(CInt(IIf(IsDBNull(objUnidadeConsumidoraCegFor.ID), 0, objUnidadeConsumidoraCegFor.ID)))
                        Next

                        SetaCodigo("unidade_consumidora_ceg", CInt(Me.txtId.Text))

                    Else
                        MessageBox.Show("Unidade Consumidora Ceg não pode ser atualizada!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        Exit Sub
                    End If

                End If

            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 frmCadUnidadeConsumidoraCeg_FormClosed(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

        Try
            If Not vfrmOld Is Nothing Then
                vfrmOld.Enabled = 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

    Private Sub frmCadUnidadeConsumidoraCeg_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
                Call cmdFechar_Click(cmdFechar, New System.EventArgs())
            ElseIf KeyAscii = System.Windows.Forms.Keys.Return Then
                TabEnter(KeyAscii, eventArgs)
            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 lNew()

        Try

            vNew = True

            lClear()

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Sub lClear()

        Try
            Me.txtCeg.Text = String.Empty
            Me.txtPotencia.Text = String.Empty
            Me.txtId_Ceg_Modalidade.Text = String.Empty
            Me.txtSigla_Ceg_Modalidade.Text = String.Empty
            Me.txtDescricao_Ceg_Modalidade.Text = String.Empty
            Me.txtId_Ceg_Tipos.Text = String.Empty
            Me.txtSigla_Ceg_Tipos.Text = String.Empty
            Me.txtDescricao_Ceg_Tipos.Text = String.Empty
            Me.txtId_Ceg_Situacao.Text = String.Empty
            Me.txtSigla_Ceg_Situacao.Text = String.Empty
            Me.txtDescricao_Ceg_Situacao.Text = String.Empty
            Me.dtpDt_Conexao.Value = Date.Now
            Me.dtpDt_Situacao.Value = Date.Now

        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

    Public Sub SetaParametros(ByRef frmOld As System.Windows.Forms.Form)

        Try

            vfrmOld = frmOld
            vfrmOld.Enabled = False

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Public Sub SetaCodigo(ByVal astrTabela As String, ByVal alngId_A As Integer, Optional ByVal alngId_B As Integer = 0, Optional ByVal alngId_C As Integer = 0, Optional ByVal alngId_D As Integer = 0)

        Dim vlist

        Dim objUnidadeConsumidoraCeg As New entidadeUnidadeConsumidoraCeg
        Dim repositorioUnidadeConsumidoraCeg As New repositorioUnidadeConsumidoraCeg

        Dim objCegModalidade As New entidadeCegModalidade
        Dim repositorioCegModalidade As New repositorioCegModalidade

        Dim objCegSituacao As New entidadeCegSituacao
        Dim repositorioCegSituacao As New repositorioCegSituacao

        Dim objCegTipos As New entidadeCegTipos
        Dim repositorioCegTipos As New repositorioCegTipos

        Try

            If astrTabela.ToUpper() = "UNIDADE_CONSUMIDORA_CEG" Then

                objUnidadeConsumidoraCeg.ID = alngId_A

                vlist = repositorioUnidadeConsumidoraCeg.Select(objUnidadeConsumidoraCeg)

                If vlist.Count > 0 Then

                    For Each objUnidadeConsumidoraCegFor As entidadeUnidadeConsumidoraCeg In vlist

                        Me.txtId.Text = Convert.ToInt64(IIf(IsDBNull(objUnidadeConsumidoraCegFor.ID), 0, objUnidadeConsumidoraCegFor.ID))
                        Me.txtGrupo.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.GRUPO), "", objUnidadeConsumidoraCegFor.GRUPO))
                        Me.txtZona.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.ZONA), "", objUnidadeConsumidoraCegFor.ZONA))
                        Me.txtLivro.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.LIVRO), "", objUnidadeConsumidoraCegFor.LIVRO))
                        Me.txtConta.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.CONTA), "", objUnidadeConsumidoraCegFor.CONTA))
                        Me.txtCons_Id.Text = Convert.ToInt32(IIf(IsDBNull(objUnidadeConsumidoraCegFor.CONS_ID), 0, objUnidadeConsumidoraCegFor.CONS_ID))
                        Me.txtUnid_Id.Text = Convert.ToInt32(IIf(IsDBNull(objUnidadeConsumidoraCegFor.UNID_ID), 0, objUnidadeConsumidoraCegFor.UNID_ID))
                        Me.txtNome.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.NOME), "", objUnidadeConsumidoraCegFor.NOME))
                        Me.txtCpf_Cnpj.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.CPF_CNPJ), "", objUnidadeConsumidoraCegFor.CPF_CNPJ))
                        Me.txtTa.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.TA), "", objUnidadeConsumidoraCegFor.TA))
                        Me.txtClas.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.CLAS), "", objUnidadeConsumidoraCegFor.CLAS))
                        Me.txtDescricao_Clas.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.DESCRICAO_CLAS), "", objUnidadeConsumidoraCegFor.DESCRICAO_CLAS))
                        Me.txtCeg.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.CEG), "", objUnidadeConsumidoraCegFor.CEG))
                        Me.dtpDt_Conexao.Value = Convert.ToDateTime(IIf(IsDBNull(objUnidadeConsumidoraCegFor.DT_CONEXAO), Date.Now, objUnidadeConsumidoraCegFor.DT_CONEXAO))
                        Me.txtPotencia.Text = Convert.ToDecimal(IIf(IsDBNull(objUnidadeConsumidoraCegFor.POTENCIA), 0, objUnidadeConsumidoraCegFor.POTENCIA))
                        Me.txtId_Ceg_Modalidade.Text = Convert.ToInt32(IIf(IsDBNull(objUnidadeConsumidoraCegFor.ID_CEG_MODALIDADE), 0, objUnidadeConsumidoraCegFor.ID_CEG_MODALIDADE))
                        Me.txtSigla_Ceg_Modalidade.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.SIGLA_CEG_MODALIDADE), "", objUnidadeConsumidoraCegFor.SIGLA_CEG_MODALIDADE))
                        Me.txtDescricao_Ceg_Modalidade.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.DESCRICAO_CEG_MODALIDADE), "", objUnidadeConsumidoraCegFor.DESCRICAO_CEG_MODALIDADE))
                        Me.txtId_Ceg_Tipos.Text = Convert.ToInt32(IIf(IsDBNull(objUnidadeConsumidoraCegFor.ID_CEG_TIPOS), 0, objUnidadeConsumidoraCegFor.ID_CEG_TIPOS))
                        Me.txtSigla_Ceg_Tipos.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.SIGLA_CEG_TIPOS), "", objUnidadeConsumidoraCegFor.SIGLA_CEG_TIPOS))
                        Me.txtDescricao_Ceg_Tipos.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.DESCRICAO_CEG_TIPOS), "", objUnidadeConsumidoraCegFor.DESCRICAO_CEG_TIPOS))
                        Me.txtId_Ceg_Situacao.Text = Convert.ToInt32(IIf(IsDBNull(objUnidadeConsumidoraCegFor.ID_CEG_SITUACAO), 0, objUnidadeConsumidoraCegFor.ID_CEG_SITUACAO))
                        Me.txtSigla_Ceg_Situacao.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.SIGLA_CEG_SITUACAO), "", objUnidadeConsumidoraCegFor.SIGLA_CEG_SITUACAO))
                        Me.txtDescricao_Ceg_Situacao.Text = Trim(IIf(IsDBNull(objUnidadeConsumidoraCegFor.DESCRICAO_CEG_SITUACAO), "", objUnidadeConsumidoraCegFor.DESCRICAO_CEG_SITUACAO))
                        Me.dtpDt_Situacao.Value = Convert.ToDateTime(IIf(IsDBNull(objUnidadeConsumidoraCegFor.DT_SITUACAO), Date.Now, objUnidadeConsumidoraCegFor.DT_SITUACAO))

                        If objUnidadeConsumidoraCeg.ATIVO = True Then
                            chkAtivo.Checked = True
                        Else
                            chkAtivo.Checked = False
                        End If

                        vNew = IIf(Me.txtId.Text = "0" Or Me.txtId.Text = String.Empty, True, False)
                        'vNew = False

                    Next



                Else
                    MessageBox.Show("Não foi possível encontrar o registro!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                End If

            ElseIf astrTabela.ToUpper() = "CEG_MODALIDADE" Then

                objCegModalidade.ID = alngId_A

                vlist = repositorioCegModalidade.Select(objCegModalidade)

                If vlist.Count > 0 Then

                    For Each objCegModalidadeFor As entidadeCegModalidade In vlist

                        Me.txtId_Ceg_Modalidade.Text = Convert.ToInt32(IIf(IsDBNull(objCegModalidadeFor.ID), 0, objCegModalidadeFor.ID))
                        Me.txtSigla_Ceg_Modalidade.Text = Trim(IIf(IsDBNull(objCegModalidadeFor.SIGLA), "", objCegModalidadeFor.SIGLA))
                        Me.txtDescricao_Ceg_Modalidade.Text = Trim(IIf(IsDBNull(objCegModalidadeFor.DESCRICAO), "", objCegModalidadeFor.DESCRICAO))


                        'vNew = False
                        vNew = IIf(Me.txtId.Text = "0" Or Me.txtId.Text = String.Empty, True, False)

                    Next

                Else
                    MessageBox.Show("Não foi possível encontrar o registro!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                End If

            ElseIf astrTabela.ToUpper() = "CEG_SITUACAO" Then

                objCegSituacao.ID = alngId_A

                vlist = repositorioCegSituacao.Select(objCegSituacao)

                If vlist.Count > 0 Then

                    For Each objCegSituacaoFor As entidadeCegSituacao In vlist

                        Me.txtId_Ceg_Situacao.Text = Convert.ToInt32(IIf(IsDBNull(objCegSituacaoFor.ID), 0, objCegSituacaoFor.ID))
                        Me.txtSigla_Ceg_Situacao.Text = Trim(IIf(IsDBNull(objCegSituacaoFor.SIGLA), "", objCegSituacaoFor.SIGLA))
                        Me.txtDescricao_Ceg_Situacao.Text = Trim(IIf(IsDBNull(objCegSituacaoFor.DESCRICAO), "", objCegSituacaoFor.DESCRICAO))


                        'vNew = False
                        vNew = IIf(Me.txtId.Text = "0" Or Me.txtId.Text = String.Empty, True, False)

                    Next

                Else
                    MessageBox.Show("Não foi possível encontrar o registro!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                End If

            ElseIf astrTabela.ToUpper() = "CEG_TIPOS" Then

                objCegTipos.ID = alngId_A

                vlist = repositorioCegTipos.Select(objCegTipos)

                If vlist.Count > 0 Then

                    For Each objCegTiposFor As entidadeCegTipos In vlist

                        Me.txtId_Ceg_Tipos.Text = Convert.ToInt32(IIf(IsDBNull(objCegTiposFor.ID), 0, objCegTiposFor.ID))
                        Me.txtSigla_Ceg_Tipos.Text = Trim(IIf(IsDBNull(objCegTiposFor.SIGLA), "", objCegTiposFor.SIGLA))
                        Me.txtDescricao_Ceg_Tipos.Text = Trim(IIf(IsDBNull(objCegTiposFor.DESCRICAO), "", objCegTiposFor.DESCRICAO))


                        'vNew = False
                        vNew = IIf(Me.txtId.Text = "0" Or Me.txtId.Text = String.Empty, True, False)

                    Next

                Else
                    MessageBox.Show("Não foi possível encontrar o registro!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                End If

            End If

        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Public Sub PrencheDadosIniciais(ByVal alngUnidId As Integer, ByVal alngConsId As Integer, ByVal astrGrupo As Object)

        Dim vlist

        Dim objUCFaturamento As New entidadeUCFaturamento
        Dim repositorioUCFaturamento As New repositorioUCFaturamento

        Try

            Me.txtId.Text = GetValorTabela("unidade_consumidora_ceg", "id", "`cons_id` = " & alngConsId & " AND `unid_id` = " & alngUnidId & " AND `grupo` = '" & astrGrupo & "'", CStr(0))

            If Me.txtId.Text = "0" Or Me.txtId.Text = "" Then
                vNew = True
            Else
                SetaCodigo("unidade_consumidora_ceg", CInt(Me.txtId.Text))
                vNew = IIf(Me.txtId.Text = "0" Or Me.txtId.Text = "", True, False)
            End If

            'If vNew = False Then

            objUCFaturamento.UNID_ID = alngUnidId
                objUCFaturamento.CONS_ID = alngConsId

                vlist = repositorioUCFaturamento.SelectOthersTables_7(objUCFaturamento)

                If vlist.Count > 0 Then

                    For Each objUCFaturamentoFor As entidadeUCFaturamento In vlist

                        Me.txtZona.Text = IIf(IsDBNull(objUCFaturamentoFor.ZONA), "", objUCFaturamentoFor.ZONA)
                        Me.txtLivro.Text = IIf(IsDBNull(objUCFaturamentoFor.LIVRO), "", objUCFaturamentoFor.LIVRO)
                        Me.txtConta.Text = IIf(IsDBNull(objUCFaturamentoFor.CONTA), "", objUCFaturamentoFor.CONTA)
                        Me.txtUnid_Id.Text = CStr(alngUnidId)
                        Me.txtCons_Id.Text = CStr(alngConsId)
                        Me.txtGrupo.Text = astrGrupo
                        Me.txtTa.Text = IIf(IsDBNull(objUCFaturamentoFor.TA), "01B100", objUCFaturamentoFor.TA)
                        Me.txtNome.Text = IIf(IsDBNull(objUCFaturamentoFor.NOME), "", objUCFaturamentoFor.NOME)
                        Me.txtCpf_Cnpj.Text = IIf(IsDBNull(objUCFaturamentoFor.CPF_CNPJ), "", objUCFaturamentoFor.CPF_CNPJ)
                        Me.txtClas.Text = IIf(IsDBNull(objUCFaturamentoFor.CLAS), "9101", objUCFaturamentoFor.CLAS)

                        If IsNumeric(Me.txtClas.Text) Then
                            If Strings.Trim(Me.txtClas.Text) <> "0" Then
                                If Strings.Trim(Me.txtDescricao_Clas.Text) = String.Empty Then
                                    Me.txtDescricao_Clas.Text = GetValorTabela("classe", "descricao", "codigo = '" & Me.txtClas.Text & "'", "")
                                End If
                            End If
                        End If

                    Next

                End If

            'End If


        Catch ex As Exception
            Exit Sub
        End Try

    End Sub

    Private Function lInsert() As Boolean

        Dim objUnidadeConsumidoraCeg As New entidadeUnidadeConsumidoraCeg
        Dim repositorioUnidadeConsumidoraCeg As New repositorioUnidadeConsumidoraCeg

        Try

            objUnidadeConsumidoraCeg.GRUPO = Trim(IIf(String.IsNullOrEmpty((txtGrupo.Text)), " ", Replace(Trim(Me.txtGrupo.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.ZONA = Trim(IIf(String.IsNullOrEmpty((txtZona.Text)), " ", Replace(Trim(Me.txtZona.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.LIVRO = Trim(IIf(String.IsNullOrEmpty((txtLivro.Text)), " ", Replace(Trim(Me.txtLivro.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.CONTA = Trim(IIf(String.IsNullOrEmpty((txtConta.Text)), " ", Replace(Trim(Me.txtConta.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.CONS_ID = Convert.ToInt32(Trim(IIf(String.IsNullOrEmpty((txtCons_Id.Text)), "0", txtCons_Id.Text)))
            objUnidadeConsumidoraCeg.UNID_ID = Convert.ToInt32(Trim(IIf(String.IsNullOrEmpty((txtUnid_Id.Text)), "0", txtUnid_Id.Text)))
            objUnidadeConsumidoraCeg.NOME = Trim(IIf(String.IsNullOrEmpty((txtNome.Text)), " ", Replace(Trim(Me.txtNome.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.CPF_CNPJ = Trim(IIf(String.IsNullOrEmpty((txtCpf_Cnpj.Text)), " ", Replace(Trim(Me.txtCpf_Cnpj.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.TA = Trim(IIf(String.IsNullOrEmpty((txtTa.Text)), " ", Replace(Trim(Me.txtTa.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.CLAS = Trim(IIf(String.IsNullOrEmpty((txtClas.Text)), " ", Replace(Trim(Me.txtClas.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.DESCRICAO_CLAS = Trim(IIf(String.IsNullOrEmpty((txtDescricao_Clas.Text)), " ", Replace(Trim(Me.txtDescricao_Clas.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.CEG = Trim(IIf(String.IsNullOrEmpty((txtCeg.Text)), " ", Replace(Trim(Me.txtCeg.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.DT_CONEXAO = Convert.ToDateTime(Trim(IIf(String.IsNullOrEmpty((dtpDt_Conexao.Value)), Date.Now, dtpDt_Conexao.Value)))
            objUnidadeConsumidoraCeg.POTENCIA = Convert.ToDecimal(Trim(IIf(String.IsNullOrEmpty((txtPotencia.Text)), "0", txtPotencia.Text)))
            objUnidadeConsumidoraCeg.ID_CEG_MODALIDADE = Convert.ToInt32(Trim(IIf(String.IsNullOrEmpty((txtId_Ceg_Modalidade.Text)), "0", txtId_Ceg_Modalidade.Text)))
            objUnidadeConsumidoraCeg.SIGLA_CEG_MODALIDADE = Trim(IIf(String.IsNullOrEmpty((txtSigla_Ceg_Modalidade.Text)), " ", Replace(Trim(Me.txtSigla_Ceg_Modalidade.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.DESCRICAO_CEG_MODALIDADE = Trim(IIf(String.IsNullOrEmpty((txtDescricao_Ceg_Modalidade.Text)), " ", Replace(Trim(Me.txtDescricao_Ceg_Modalidade.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.ID_CEG_TIPOS = Convert.ToInt32(Trim(IIf(String.IsNullOrEmpty((txtId_Ceg_Tipos.Text)), "0", txtId_Ceg_Tipos.Text)))
            objUnidadeConsumidoraCeg.SIGLA_CEG_TIPOS = Trim(IIf(String.IsNullOrEmpty((txtSigla_Ceg_Tipos.Text)), " ", Replace(Trim(Me.txtSigla_Ceg_Tipos.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.DESCRICAO_CEG_TIPOS = Trim(IIf(String.IsNullOrEmpty((txtDescricao_Ceg_Tipos.Text)), " ", Replace(Trim(Me.txtDescricao_Ceg_Tipos.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.ID_CEG_SITUACAO = Convert.ToInt32(Trim(IIf(String.IsNullOrEmpty((txtId_Ceg_Situacao.Text)), "0", txtId_Ceg_Situacao.Text)))
            objUnidadeConsumidoraCeg.SIGLA_CEG_SITUACAO = Trim(IIf(String.IsNullOrEmpty((txtSigla_Ceg_Situacao.Text)), " ", Replace(Trim(Me.txtSigla_Ceg_Situacao.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.DESCRICAO_CEG_SITUACAO = Trim(IIf(String.IsNullOrEmpty((txtDescricao_Ceg_Situacao.Text)), " ", Replace(Trim(Me.txtDescricao_Ceg_Situacao.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.DT_SITUACAO = Convert.ToDateTime(Trim(IIf(String.IsNullOrEmpty((dtpDt_Situacao.Value)), Date.Now, dtpDt_Situacao.Value)))

            If chkAtivo.Checked = True Then
                objUnidadeConsumidoraCeg.ATIVO = True
            Else
                objUnidadeConsumidoraCeg.ATIVO = False
            End If

            repositorioUnidadeConsumidoraCeg.Insert(objUnidadeConsumidoraCeg)

            Return True
        Catch ex As Exception
            Return False
        End Try

    End Function

    Private Function lUpdate() As Boolean

        Dim objUnidadeConsumidoraCeg As New entidadeUnidadeConsumidoraCeg
        Dim repositorioUnidadeConsumidoraCeg As New repositorioUnidadeConsumidoraCeg


        Try

            objUnidadeConsumidoraCeg.GRUPO = Trim(IIf(String.IsNullOrEmpty((txtGrupo.Text)), " ", Replace(Trim(Me.txtGrupo.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.ZONA = Trim(IIf(String.IsNullOrEmpty((txtZona.Text)), " ", Replace(Trim(Me.txtZona.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.LIVRO = Trim(IIf(String.IsNullOrEmpty((txtLivro.Text)), " ", Replace(Trim(Me.txtLivro.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.CONTA = Trim(IIf(String.IsNullOrEmpty((txtConta.Text)), " ", Replace(Trim(Me.txtConta.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.CONS_ID = Convert.ToInt32(Trim(IIf(String.IsNullOrEmpty((txtCons_Id.Text)), "0", txtCons_Id.Text)))
            objUnidadeConsumidoraCeg.UNID_ID = Convert.ToInt32(Trim(IIf(String.IsNullOrEmpty((txtUnid_Id.Text)), "0", txtUnid_Id.Text)))
            objUnidadeConsumidoraCeg.NOME = Trim(IIf(String.IsNullOrEmpty((txtNome.Text)), " ", Replace(Trim(Me.txtNome.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.CPF_CNPJ = Trim(IIf(String.IsNullOrEmpty((txtCpf_Cnpj.Text)), " ", Replace(Trim(Me.txtCpf_Cnpj.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.TA = Trim(IIf(String.IsNullOrEmpty((txtTa.Text)), " ", Replace(Trim(Me.txtTa.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.CLAS = Trim(IIf(String.IsNullOrEmpty((txtClas.Text)), " ", Replace(Trim(Me.txtClas.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.DESCRICAO_CLAS = Trim(IIf(String.IsNullOrEmpty((txtDescricao_Clas.Text)), " ", Replace(Trim(Me.txtDescricao_Clas.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.CEG = Trim(IIf(String.IsNullOrEmpty((txtCeg.Text)), " ", Replace(Trim(Me.txtCeg.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.DT_CONEXAO = Convert.ToDateTime(Trim(IIf(String.IsNullOrEmpty((dtpDt_Conexao.Value)), Date.Now, dtpDt_Conexao.Value)))
            objUnidadeConsumidoraCeg.POTENCIA = Convert.ToDecimal(Trim(IIf(String.IsNullOrEmpty((txtPotencia.Text)), "0", txtPotencia.Text)))
            objUnidadeConsumidoraCeg.ID_CEG_MODALIDADE = Convert.ToInt32(Trim(IIf(String.IsNullOrEmpty((txtId_Ceg_Modalidade.Text)), "0", txtId_Ceg_Modalidade.Text)))
            objUnidadeConsumidoraCeg.SIGLA_CEG_MODALIDADE = Trim(IIf(String.IsNullOrEmpty((txtSigla_Ceg_Modalidade.Text)), " ", Replace(Trim(Me.txtSigla_Ceg_Modalidade.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.DESCRICAO_CEG_MODALIDADE = Trim(IIf(String.IsNullOrEmpty((txtDescricao_Ceg_Modalidade.Text)), " ", Replace(Trim(Me.txtDescricao_Ceg_Modalidade.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.ID_CEG_TIPOS = Convert.ToInt32(Trim(IIf(String.IsNullOrEmpty((txtId_Ceg_Tipos.Text)), "0", txtId_Ceg_Tipos.Text)))
            objUnidadeConsumidoraCeg.SIGLA_CEG_TIPOS = Trim(IIf(String.IsNullOrEmpty((txtSigla_Ceg_Tipos.Text)), " ", Replace(Trim(Me.txtSigla_Ceg_Tipos.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.DESCRICAO_CEG_TIPOS = Trim(IIf(String.IsNullOrEmpty((txtDescricao_Ceg_Tipos.Text)), " ", Replace(Trim(Me.txtDescricao_Ceg_Tipos.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.ID_CEG_SITUACAO = Convert.ToInt32(Trim(IIf(String.IsNullOrEmpty((txtId_Ceg_Situacao.Text)), "0", txtId_Ceg_Situacao.Text)))
            objUnidadeConsumidoraCeg.SIGLA_CEG_SITUACAO = Trim(IIf(String.IsNullOrEmpty((txtSigla_Ceg_Situacao.Text)), " ", Replace(Trim(Me.txtSigla_Ceg_Situacao.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.DESCRICAO_CEG_SITUACAO = Trim(IIf(String.IsNullOrEmpty((txtDescricao_Ceg_Situacao.Text)), " ", Replace(Trim(Me.txtDescricao_Ceg_Situacao.Text), "'", "\'")))
            objUnidadeConsumidoraCeg.DT_SITUACAO = Convert.ToDateTime(Trim(IIf(String.IsNullOrEmpty((dtpDt_Situacao.Value)), Date.Now, dtpDt_Situacao.Value)))

            If chkAtivo.Checked = True Then
                objUnidadeConsumidoraCeg.ATIVO = True
            Else
                objUnidadeConsumidoraCeg.ATIVO = False
            End If


            objUnidadeConsumidoraCeg.ID = Convert.ToInt64(Trim(IIf(String.IsNullOrEmpty((txtId.Text)), "0", txtId.Text)))

            repositorioUnidadeConsumidoraCeg.Update(objUnidadeConsumidoraCeg)

            Return True
        Catch ex As Exception
            Return False
        End Try

    End Function

    Private Function lUpdate_1(ByRef objUnidadeConsumidoraCeg As entidadeUnidadeConsumidoraCeg) As Boolean
        Dim repositorioUnidadeConsumidoraCeg As New repositorioUnidadeConsumidoraCeg
        Try

            repositorioUnidadeConsumidoraCeg.Update_1(objUnidadeConsumidoraCeg)

            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function

    Private Function lDelete(ByRef objUnidadeConsumidoraCeg As entidadeUnidadeConsumidoraCeg) As Boolean
        Dim repositorioUnidadeConsumidoraCeg As New repositorioUnidadeConsumidoraCeg
        Try

            repositorioUnidadeConsumidoraCeg.Delete(objUnidadeConsumidoraCeg)

            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function


#End Region


End Class