Imports System.Data.SqlClient

Public Class frmCadastroEmpresa
    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

    Dim _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 Formulario
        Me.Close()
    End Sub
    Private Sub PreencheCombo()

        '''''''''''SEGMENTO

        'Instancia a Combo de Segmento
        Dim clsSegmento As New clsSegmento
        'Preenche a Combo
        With cboSegmento
            .DataSource = clsSegmento.SelectSEGMENTO().Tables(0)
            .DisplayMember = "NOME_SEG"
            .ValueMember = "CODIGO_SEG"
            .SelectedIndex = -1
        End With


        '''''''''''TIER
        'Instancia a Combo de TIER
        Dim clsTier As New clsTier
        'Preenche a Combo TIER
        With cboTier
            .DataSource = clsTier.SelectTIER().Tables(0)
            .DisplayMember = "NOME_TIER"
            .ValueMember = "CODIGO_TIER"
            .SelectedIndex = -1
        End With


        '''''''''''CORPORATIVO
        'Instancia a Combo de CORPORATIVO
        Dim clsCorporativo As New clsCorporativo
        'Preenche a Combo TIER
        With CboCorporativo
            .DataSource = clsCorporativo.SelectCorporativoforCombo().Tables(0)
            .DisplayMember = "NOME_CORP"
            .ValueMember = "CODIGO_CORP"
            .SelectedIndex = -1
        End With

        '''''''''''REGIÃO
        'Instancia a Combo de REGIÃO
        Dim clsRegiao As New clsRegiao
        'Preenche a Combo TIER
        With CboRegiao
            .DataSource = clsRegiao.SelectREGIAO().Tables(0)
            .DisplayMember = "NOME_REG"
            .ValueMember = "CODIGO_REG"
            .SelectedIndex = -1
        End With

    End Sub
    Private Sub frmCadastroEmpresa_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Procedimento de Combos e Botões 
        Call ArrumaTela()
        If Operacao = clsFuncoesGerais.Operacao.Alteracao Then
            Dim clsEmpresa As New clsEmpresa
            Dim dr As SqlDataReader = clsEmpresa.SelectEmpresaByCode(Codigo)

            If dr.Read Then
                With clsEmpresa
                    txtCODIGO_EMP.Text = CStr(Codigo)
                    txtNOME_EMP.Text = CStr(dr("NOME_EMP"))
                    If (dr("FANTASIA_EMP").ToString <> "") Then txtFantasia_EMP.Text = CStr(dr("FANTASIA_EMP"))
                    cboSegmento.SelectedValue = dr("CODIGO_SEG")
                    cboTier.SelectedValue = dr("CODIGO_TIER")
                    CboCorporativo.SelectedValue = dr("CODIGO_CORP")
                    CboRegiao.SelectedValue = dr("CODIGO_REG")

                    If (dr("ENDERECOFATUR_EMP").ToString <> "") Then txtEnderecoFatur_Emp.Text = CStr(dr("ENDERECOFATUR_EMP"))
                    If (dr("ENDERECOENTREGA_EMP").ToString <> "") Then txtEnderecoEntrega_EMP.Text = CStr(dr("ENDERECOENTREGA_EMP"))
                    If (dr("ENDERECOCOB_EMP").ToString <> "") Then txtEnderecoCobranca_EMP.Text = CStr(dr("ENDERECOCOB_EMP"))

                    If (dr("NUMEROFATUR_EMP").ToString <> "") Then txtNumeroFatur_EMP.Text = CStr(dr("NUMEROFATUR_EMP"))
                    If (dr("NUMEROENTREGA_EMP").ToString <> "") Then txtNumeroEntrega_EMP.Text = CStr(dr("NUMEROENTREGA_EMP"))
                    If (dr("NUMEROCOB_EMP").ToString <> "") Then txtNumeroCobranca_EMP.Text = CStr(dr("NUMEROCOB_EMP"))

                    If (dr("COMPLEMENTOFATUR_EMP").ToString <> "") Then txtComplementoFatur_EMP.Text = CStr(dr("COMPLEMENTOFATUR_EMP"))
                    If (dr("COMPLEMENTOENTREGA_EMP").ToString <> "") Then txtComplementoEntrega_EMP.Text = CStr(dr("COMPLEMENTOENTREGA_EMP"))
                    If (dr("COMPLEMENTOCOB_EMP").ToString <> "") Then txtComplementoCobranca_EMP.Text = CStr(dr("COMPLEMENTOCOB_EMP"))

                    If (dr("BAIRROFATUR_EMP").ToString <> "") Then txtBairroFatur_EMP.Text = CStr(dr("BAIRROFATUR_EMP"))
                    If (dr("BAIRROENTREGA_EMP").ToString <> "") Then txtBairroEntrega_EMP.Text = CStr(dr("BAIRROENTREGA_EMP"))
                    If (dr("BAIRROCOB_EMP").ToString <> "") Then txtBairroCobranca_EMP.Text = CStr(dr("BAIRROCOB_EMP"))

                    If (dr("CEPFATUR_EMP").ToString <> "") Then mskCepFatur_EMP.Text = CStr(dr("CEPFATUR_EMP"))
                    If (dr("CEPENTREGA_EMP").ToString <> "") Then mskCepEntrega_EMP.Text = CStr(dr("CEPENTREGA_EMP"))
                    If (dr("CEPCOB_EMP").ToString <> "") Then mskCEpCobranca_EMP.Text = CStr(dr("CEPCOB_EMP"))

                    If (dr("CIDADEFATUR_EMP").ToString <> "") Then txtCidadeFatur_EMP.Text = CStr(dr("CIDADEFATUR_EMP"))
                    If (dr("CIDADEENTREGA_EMP").ToString <> "") Then txtCidadeEntrega_EMP.Text = CStr(dr("CIDADEENTREGA_EMP"))
                    If (dr("CIDADECOB_EMP").ToString <> "") Then txtCidadeCobranca_EMP.Text = CStr(dr("CIDADECOB_EMP"))

                    If (dr("ESTADOFATUR_EMP").ToString <> "") Then txtEstadoFatur_EMP.Text = CStr(dr("ESTADOFATUR_EMP"))
                    If (dr("ESTADOENTREGA_EMP").ToString <> "") Then txtEstadoEntrega_EMP.Text = CStr(dr("ESTADOENTREGA_EMP"))
                    If (dr("ESTADOCOB_EMP").ToString <> "") Then txtEstadoCobranca_EMP.Text = CStr(dr("ESTADOCOB_EMP"))

                    If (dr("CNPJFATUR_EMP").ToString <> "") Then mskCNPJFatur_EMP.Text = CStr(dr("CNPJFATUR_EMP"))
                    If (dr("CNPJENTREGA_EMP").ToString <> "") Then mskCNPJEntrega_EMP.Text = CStr(dr("CNPJENTREGA_EMP"))
                    If (dr("CNPJCOB_EMP").ToString <> "") Then mskCNPJCobranca_EMP.Text = CStr(dr("CNPJCOB_EMP"))

                    If (dr("CNPJCOB_EMP").ToString <> "") Then txtIEFatur_EMP.Text = CStr(dr("IEFATUR_EMP"))
                    If (dr("IEENTREGA_EMP").ToString <> "") Then txtIEEntrega_EMP.Text = CStr(dr("IEENTREGA_EMP"))
                    If (dr("IECOB_EMP").ToString <> "") Then txtIECobranca_EMP.Text = CStr(dr("IECOB_EMP"))

                    If (dr("IMFATUR_EMP").ToString <> "") Then txtIMFatur_EMP.Text = CStr(dr("IMFATUR_EMP"))
                    If (dr("IMENTREGA_EMP").ToString <> "") Then txtIMEntrega_EMP.Text = CStr(dr("IMENTREGA_EMP"))
                    If (dr("IMCOB_EMP").ToString <> "") Then txtIMCobranca_EMP.Text = CStr(dr("IMCOB_EMP"))

                    If (dr("CONTATOFATUR_EMP").ToString <> "") Then txtContatoFatur_EMP.Text = CStr(dr("CONTATOFATUR_EMP"))
                    If (dr("CONTATOENTREGA_EMP").ToString <> "") Then txtContatoEntrega_EMP.Text = CStr(dr("CONTATOENTREGA_EMP"))
                    If (dr("CONTATOCOB_EMP").ToString <> "") Then txtContatoCobranca_EMP.Text = CStr(dr("CONTATOCOB_EMP"))

                    If (dr("EMAILFATUR_EMP").ToString <> "") Then txtEmailFatur_EMP.Text = CStr(dr("EMAILFATUR_EMP"))
                    If (dr("EMAILENTREGA_EMP").ToString <> "") Then txtEmailEntrega_EMP.Text = CStr(dr("EMAILENTREGA_EMP"))
                    If (dr("EMAILCOB_EMP").ToString <> "") Then txtEmailCobranca_EMP.Text = CStr(dr("EMAILCOB_EMP"))

                    If (dr("TELEFONEFATUR_EMP").ToString <> "") Then mskTelefoneFatur_EMP.Text = CStr(dr("TELEFONEFATUR_EMP"))
                    If (dr("TELEFONEENTREGA_EMP").ToString <> "") Then mskTelefoneEntrega_EMP.Text = CStr(dr("TELEFONEENTREGA_EMP"))
                    If (dr("TELEFONECOB_EMP").ToString <> "") Then mskTelefoneCobranca_EMP.Text = CStr(dr("TELEFONECOB_EMP"))

                    If (dr("CELULARFATUR_EMP").ToString <> "") Then mskCelularFatur_EMP.Text = CStr(dr("CELULARFATUR_EMP"))
                    If (dr("CELULARENTREGA_EMP").ToString <> "") Then mskCelularEntrega_EMP.Text = CStr(dr("CELULARENTREGA_EMP"))
                    If (dr("CELULARCOB_EMP").ToString <> "") Then mskCelularCobranca_EMP.Text = CStr(dr("CELULARCOB_EMP"))

                    'Carrega o Grid de Contato
                    CarregaGridContato(CLng(txtCODIGO_EMP.Text))
                End With
            End If
        End If
    End Sub
    Private Sub ArrumaTela()
        'PReenche os COMBOS
        Call PreencheCombo()

        'Verifica a Liberação dos Botões de Contato
        If Operacao = clsFuncoesGerais.Operacao.Inclusao Then
            btnNovoContato.Enabled = False
            btnAlterar.Enabled = False
            btnExcluir.Enabled = False
        Else
            btnNovoContato.Enabled = True
            btnAlterar.Enabled = True
            btnExcluir.Enabled = True
        End If
    End Sub
    Private Sub btnNovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGravar.Click
        If txtNOME_EMP.Text <> "" Then
            If String.IsNullOrEmpty(CboCorporativo.Text) Then
                MsgBox("Informe o CORPORATIVO")
                CboCorporativo.Focus()
            Else
                If String.IsNullOrEmpty(cboSegmento.Text) Then
                    MsgBox("Informe o SEGMENTO")
                    cboSegmento.Focus()
                Else
                    If String.IsNullOrEmpty(CboRegiao.Text) Then
                        MsgBox("Informe a REGIÃO")
                        CboRegiao.Focus()
                    Else
                        If String.IsNullOrEmpty(cboTier.Text) Then
                            MsgBox("Informe o TIER")
                            cboTier.Focus()
                        Else
                            Dim clsEmpresa As New clsEmpresa
                            With clsEmpresa
                                .NOME_EMP = txtNOME_EMP.Text
                                .FANTASIA_EMP = txtFantasia_EMP.Text

                                .CODIGO_SEG = CInt(cboSegmento.SelectedValue)
                                .CODIGO_FUNC = CInt(intCodigo_Func)
                                .CODIGO_REG = CInt(CboRegiao.SelectedValue)
                                .CODIGO_TIER = CInt(cboTier.SelectedValue)
                                .CODIGO_CORP = CInt(CboCorporativo.SelectedValue)

                                .ENDERECOFATUR_EMP = txtEnderecoFatur_Emp.Text
                                .ENDERECOCOB_EMP = txtEnderecoCobranca_EMP.Text
                                .ENDERECOENTREGA_EMP = txtEnderecoCobranca_EMP.Text

                                .NUMEROFATUR_EMP = txtNumeroFatur_EMP.Text
                                .NUMEROENTREGA_EMP = txtNumeroEntrega_EMP.Text
                                .NUMEROCOB_EMP = txtNumeroCobranca_EMP.Text

                                .COMPLEMENTOFATUR_EMP = txtComplementoFatur_EMP.Text
                                .COMPLEMENTOENTREGA_EMP = txtComplementoEntrega_EMP.Text
                                .COMPLEMENTOCOB_EMP = txtComplementoCobranca_EMP.Text

                                .BAIRROFATUR_EMP = txtBairroFatur_EMP.Text
                                .BAIRROENTREGA_EMP = txtBairroEntrega_EMP.Text
                                .BAIRROCOB_EMP = txtBairroCobranca_EMP.Text

                                .CEPFATUR_EMP = mskCepFatur_EMP.Text
                                .CEPENTREGA_EMP = mskCepEntrega_EMP.Text
                                .CEPCOB_EMP = mskCEpCobranca_EMP.Text

                                .CIDADEFATUR_EMP = txtCidadeFatur_EMP.Text
                                .CIDADEENTREGA_EMP = txtCidadeCobranca_EMP.Text
                                .CIDADECOB_EMP = txtCidadeCobranca_EMP.Text

                                .ESTADOFATUR_EMP = txtEstadoFatur_EMP.Text
                                .ESTADOENTREGA_EMP = txtEstadoEntrega_EMP.Text
                                .ESTADOCOB_EMP = txtEstadoCobranca_EMP.Text

                                .CNPJFATUR_EMP = mskCNPJFatur_EMP.Text
                                .CNPJENTREGA_EMP = mskCNPJEntrega_EMP.Text
                                .CNPJCOB_EMP = mskCNPJCobranca_EMP.Text

                                .IEFATUR_EMP = txtIEFatur_EMP.Text
                                .IEENTREGA_EMP = txtIEEntrega_EMP.Text
                                .IECOB_EMP = txtIECobranca_EMP.Text

                                .IMFATUR_EMP = txtIMFatur_EMP.Text
                                .IMENTREGA_EMP = txtIMEntrega_EMP.Text
                                .IMCOB_EMP = txtIMCobranca_EMP.Text

                                .CONTATOFATUR_EMP = txtContatoFatur_EMP.Text
                                .CONTATOENTREGA_EMP = txtContatoEntrega_EMP.Text
                                .CONTATOCOB_EMP = txtContatoCobranca_EMP.Text

                                .EMAILFATUR_EMP = txtEmailFatur_EMP.Text
                                .EMAILENTREGA_EMP = txtEmailEntrega_EMP.Text
                                .EMAILCOB_EMP = txtEmailCobranca_EMP.Text

                                .TELEFONEFATUR_EMP = mskTelefoneFatur_EMP.Text
                                .TELEFONEENTREGA_EMP = mskTelefoneEntrega_EMP.Text
                                .TELEFONECOB_EMP = mskTelefoneCobranca_EMP.Text

                                .CELULARFATUR_EMP = mskCelularFatur_EMP.Text
                                .CELULARENTREGA_EMP = mskCelularEntrega_EMP.Text
                                .CELULARCOB_EMP = mskCelularCobranca_EMP.Text

                                If Operacao = clsFuncoesGerais.Operacao.Inclusao Then
                                    .CODIGO_EMP = clsFuncoesGerais.GetCodigo()
                                    .InsertEmpresa()
                                    Operacao = clsFuncoesGerais.Operacao.Alteracao
                                    txtCODIGO_EMP.Text = CStr(.CODIGO_EMP)
                                    MessageBox.Show("Registro gravado com sucesso!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
                                Else
                                    .CODIGO_EMP = CLng(txtCODIGO_EMP.Text)
                                    .UpdateEmpresa(CLng(txtCODIGO_EMP.Text))
                                    MessageBox.Show("Registro alterado com sucesso!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
                                End If
                                Call ArrumaTela()
                            End With
                        End If
                    End If
                End If
            End If
        Else
            MessageBox.Show("Defina o nome da Empresa", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
            txtNOME_EMP.Focus()
        End If
    End Sub

    Public Sub CarregaGridContato(ByVal lngCodigo As Long)
        'Instancia o clsContato
        Dim clsContato As New clsContato

        Dim ds As New System.Data.DataSet
        ds = clsContato.SelectContatoForGrid(lngCodigo)
        'Carregar o Grid de Contato
        With gvContato
            .DataSource = ds.Tables(0)

            .Columns(0).Visible = False
            .Columns(1).HeaderText = "Contato"
            .Columns(2).HeaderText = "Departamento"
            .Columns(3).HeaderText = "Cargo"
            .Columns(4).HeaderText = "Telefone"
            .Columns(5).HeaderText = "Email"
        End With

        ds.Dispose()

    End Sub

    Private Sub btnLocalizaCorporativo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLocalizaCorporativo.Click
        Dim clsCorporativo As New clsCorporativo

        With gdCorporativo
            .Visible = True
            .DataSource = clsCorporativo.SelectCorporativoforCombo().Tables(0)
            .Columns(0).Visible = False
            .Columns(1).HeaderText = "Corporativo"
        End With


    End Sub

    Private Sub btnNovoContato_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNovoContato.Click
        'Instancia o frmCadastro Contato
        Dim frmCadastroContato As New frmCadastroContato
        'Abre o formulário de Cadastro
        With frmCadastroContato
            .txtNome_Emp.Text = txtNOME_EMP.Text
            .txtCODIGO_EMP.Text = txtCODIGO_EMP.Text
            .Operacao = clsFuncoesGerais.Operacao.Inclusao
            .ShowDialog()
        End With

        Call CarregaGridContato(txtCODIGO_EMP.Text)

    End Sub
    Private Sub btnExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcluir.Click
        If gvContato.RowCount > 1 Then
            Dim lngCodigo As Long = CLng(gvContato.CurrentRow.Cells(0).Value)
            Dim clsContato As New clsContato
            clsContato.DeleteCONTATO(lngCodigo)
            MessageBox.Show("Regitro excluído", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
            Call CarregaGridContato(CLng(txtCODIGO_EMP.Text))
        End If
    End Sub
    Private Sub btnAlterar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAlterar.Click
        If gvContato.RowCount >= 1 Then
            Dim lngCodigo As Long = CLng(gvContato.CurrentRow.Cells(0).Value)
            Dim frmCadastroCOntato As New frmCadastroContato
            With frmCadastroCOntato
                .Codigo = lngCodigo
                .Operacao = clsFuncoesGerais.Operacao.Alteracao
                .txtNome_Emp.Text = txtNOME_EMP.Text
                .txtCODIGO_EMP.Text = txtCODIGO_EMP.Text
                .txtCODIGO_CONT.Text = CStr(.Codigo)
                .MdiParent = MdiParent
                .Show()
            End With
        End If
    End Sub
    Private Sub gdCorporativo_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles gdCorporativo.CellDoubleClick
        CboCorporativo.Text = CStr(gdCorporativo.CurrentRow.Cells(1).Value)
        gdCorporativo.Visible = False
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim frmGoogleMaps As New frmGoogleMaps

        With frmGoogleMaps
            .txtCidade.Text = Me.txtCidadeFatur_EMP.Text
            .txtEstado.Text = Me.txtEstadoFatur_EMP.Text
            .txtRua.Text = Me.txtEnderecoFatur_Emp.Text & ", " & Me.txtNumeroFatur_EMP.Text
            .txtCEp.Text = Me.mskCepFatur_EMP.Text
            .Show()
            .MdiParent = MdiParent
        End With



    End Sub

    
End Class
