Public Class frmCadastroVendas

    Dim strProduto As String = ""
    Private _CODIGO_DIV As Integer
    Public Property CODIGO_DIV() As Integer
        Get
            Return _CODIGO_DIV
        End Get
        Set(ByVal value As Integer)
            _CODIGO_DIV = value
        End Set
    End Property
    Private _NOME_DIV As String
    Public Property NOME_DIV() As String
        Get
            Return _NOME_DIV
        End Get
        Set(ByVal value As String)
            _NOME_DIV = value
        End Set
    End Property
    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_Proj As Long
    Public Property Codigo_Proj() As Long
        Get
            Return _Codigo_Proj
        End Get
        Set(ByVal value As Long)
            _Codigo_Proj = value
        End Set
    End Property
    Private Sub btnSair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSair.Click
        'Fecha o formulário
        Me.Close()
    End Sub
    Private Sub txtValorCotacao_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtValorCotacao.KeyPress
        Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
        KeyAscii = CShort(SoNumeros(KeyAscii))
        If KeyAscii = 0 Then
            e.Handled = True
        End If
    End Sub
    Private Sub txtValorCotacao_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtValorCotacao.LostFocus
        If IsNumeric(txtValorCotacao.Text) Then
            Try
                txtValorCotacao.Text = FormatCurrency(txtValorCotacao.Text)
            Catch ex As Exception
                Throw ex
            End Try
        End If
    End Sub
    Private Sub txtVlVenda_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtVlVenda.KeyPress
        Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
        KeyAscii = CShort(SoNumeros(KeyAscii))
        If KeyAscii = 0 Then
            e.Handled = True
        End If
    End Sub
    Private Sub txtVlVenda_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtVlVenda.LostFocus
        If IsNumeric(txtVlVenda.Text) Then
            Try
                txtVlVenda.Text = FormatCurrency(txtVlVenda.Text)
            Catch ex As Exception
                Throw ex
            End Try
        End If
    End Sub
    Private Sub btnIncluiProduto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluiProduto.Click
        If txtProduto.Text <> "" Then
            If txtCodigoProduto.Text <> "" Then
                If txtVlVenda.Text <> "" Then
                    Dim clsDetalheProjeto As New clsDetalheProjeto
                    With clsDetalheProjeto
                        .CODIGO_PROJ = CLng(txtCodigo.Text)
                        .CODIGO_PROD = CInt(txtCodigoProduto.Text)
                        .QTDE_PROD = CInt(nupQtde.Value)
                        .VLUNITARIO_PROD = CInt(txtVlVenda.Text)

                        If lblCodigoDetalheProjeto.Text = "" Then
                            .InsertDETALHEPROJETO()
                            Call CarregaGridProduto()
                        Else
                            .CODIGO_DETPROJ = CInt(lblCodigoDetalheProjeto.Text)
                            .UpdateDETALHEPROJETO(CInt(lblCodigoDetalheProjeto.Text))
                            MessageBox.Show("Registro alterado com sucesso!", "Aviso")
                        End If
                        Call LimpaProdutos()
                    End With
                Else
                    MessageBox.Show("Informe o Valor de Venda", "Aviso")
                    txtVlVenda.Focus()
                End If
            Else
                MessageBox.Show("Informe o Equipamento", "Aviso")
                txtProduto.Focus()
            End If
        Else
            MessageBox.Show("Informe o Equipamento", "Aviso")
            txtProduto.Focus()
        End If

    End Sub
    Private Sub CarregaGridProduto()
        Dim clsDetalheProjeto As New clsDetalheProjeto
        Dim ds As DataSet = clsDetalheProjeto.SelectDetalheProjetoforGrid(CLng(txtCodigo.Text))
        With Me.gvProduto
            .DataSource = ds.Tables(0)
            .Columns(0).Visible = False
            .Columns(1).HeaderText = "Código"
            .Columns(2).HeaderText = "Equipamento"
            .Columns(3).HeaderText = "Quantidade"
            .Columns(4).HeaderText = "Unitário"
            .Columns(4).DefaultCellStyle.Format = "#,###,##0.00"
            .Columns(5).HeaderText = "Unidade"
            .Columns(6).Visible = False
        End With
        Call LimpaProdutos()
    End Sub
    Private Sub PreencheCombo()

        ' Preenche CboTipo
        Dim clsTipo As New clsTipo
        With Me.cboTipo
            .DataSource = clsTipo.SelectTipo().Tables(0)
            .DisplayMember = "NOME_TIPO"
            .ValueMember = "CODIGO_TIPO"

        End With

        'Preenche CboContato
        Dim clsContato As New clsContato
        With Me.cboContato
            .DataSource = clsContato.SelectContatoForCombo(CLng(txtCodigoEmp.Text)).Tables(0)
            .DisplayMember = "NOME_CONT"
            .ValueMember = "CODIGO_CONT"
            .SelectedIndex = -1
        End With


        'Preenche CboClassificacao
        Dim clsClassificacao As New clsClassificacao
        With Me.cboOPP
            .DataSource = clsClassificacao.SelectclassificacaoforCombo().Tables(0)
            .DisplayMember = "NOME_CLASS"
            .ValueMember = "CODIGO_CLASS"
            .SelectedIndex = -1
        End With


        'Preenche CboCHECKmATE
        Dim clsCheckMate As New clsCheckMate
        With Me.cboCheckMate
            .DataSource = clsCheckMate.SelectCheckMateForCombo().Tables(0)
            .DisplayMember = "NOME_CHECK"
            .ValueMember = "CODIGO_CHECK"
            .SelectedIndex = -1
        End With
        'Preenche Cboconcorrente
        Dim clsConcorrente As New clsConcorrente
        With Me.cboConcorrente
            .DataSource = clsConcorrente.SelectConcorrenteForCombo().Tables(0)
            .DisplayMember = "NOME_CONC"
            .ValueMember = "CODIGO_CONC"
            .SelectedIndex = -1
        End With
    End Sub
    Private Sub frmProdutos_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
        gvProdutos.Visible = False
    End Sub
    Private Sub frmProdutos_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Perenche ComboTipo
        Call PreencheCombo()
        dtProxContatoHist.Value = Date.Now.AddDays(7)
    End Sub

    Private Sub btnPesquisaProduto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPesquisaProduto.Click
        'Chama o Grid de Consulta
        Call CarregaGridProdutoConsulta()
    End Sub
    Private Sub CarregaGridProdutoConsulta()
        'Instancia o cls Produto
        Dim clsProduto As New clsProduto
        'Instancia o Dataset e Preenche com o Select de produto específico
        Dim ds As DataSet = clsProduto.SelectProdutoforGridConsulta(CODIGO_DIV)

        'Verifica se há dados

        'Preencho o DataGridView
        With Me.gvProdutos
            .Visible = True
            .DataSource = ds.Tables(0)
            .Columns(0).Visible = False
            .Columns(1).HeaderText = "Código"
            .Columns(2).HeaderText = "Equipamento"
            .Columns(2).Width = CInt(.Width / 3)
            .Columns(3).HeaderText = "Valor Unitário"
            .Columns(3).DefaultCellStyle.Format = "#,###,##0.00"
            .Columns(4).HeaderText = "Unidade"
        End With
    End Sub
    Private Sub gvProdutos_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles gvProdutos.CellDoubleClick
        txtProduto.Text = CStr(gvProdutos.CurrentRow.Cells(2).Value)
        txtCodigoProduto.Text = CStr(gvProdutos.CurrentRow.Cells(0).Value)
        txtVlLista.Text = CStr(gvProdutos.CurrentRow.Cells(3).Value)
        gvProdutos.Visible = False
    End Sub
    Private Sub TabControl1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabControl1.Click
        gvProdutos.Visible = False
    End Sub
    Private Sub TabPage1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabPage1.Click
        gvProdutos.Visible = False
    End Sub
    Private Sub GroupBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles GroupBox1.Click
        gvProdutos.Visible = False
    End Sub
    Private Sub btnNovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNovo.Click
        'Limpa os controle de Produtos
        Call LimpaProdutos()
    End Sub
    Private Sub LimpaProdutos()
        txtProduto.Text = ""
        txtVlLista.Text = ""
        txtVlVenda.Text = ""
        txtSoma.Text = ""
        nupQtde.Value = 1
        txtCodigoProduto.Text = ""
        lblCodigoDetalheProjeto.Text = ""
    End Sub
    Private Sub txtVlVenda_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtVlVenda.TextChanged
        If txtVlVenda.Text <> "" And txtVlVenda.Text <> "0,00" Then
            txtSoma.Text = FormatCurrency(CalculodeEquipamento(CInt(nupQtde.Value), CSng(txtVlVenda.Text)))
        End If
    End Sub
    Private Sub nupQtde_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nupQtde.ValueChanged
        If nupQtde.Value >= 1 And txtVlVenda.Text <> "" Then
            txtSoma.Text = FormatCurrency(CalculodeEquipamento(CInt(nupQtde.Value), CSng(txtVlVenda.Text)))
        End If
    End Sub
    Private Function CalculodeEquipamento(ByVal IntQuantidade As Integer, ByVal sngVlVenda As Single) As Single
        If IntQuantidade >= 1 Then
            If sngVlVenda >= 0.0 Then
                Return CSng((sngVlVenda * IntQuantidade))
            Else
                MessageBox.Show("Valor de Venda deve ser maior que 0 (Zero) ", "Aviso")
                txtVlVenda.Focus()
                Return 0.0
            End If
        Else
            MessageBox.Show("Quantidade deve ser maior que 0 (Zero) ", "Aviso")
            nupQtde.Focus()
            Return 0.0
        End If
    End Function
    Private Sub txtCodigo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCodigo.TextChanged
        If txtCodigo.Text <> "" Then
            Call CarregaGridProduto()
            Call CarregaGridHistorico()
            Call CarregaGridCotacao()
            Call CarregaGridConcorrente()
        End If
    End Sub
    Private Sub gvProduto_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles gvProduto.CellClick
        If gvProduto.RowCount >= 1 Then
            With gvProduto
                txtProduto.Text = CStr(.CurrentRow.Cells(2).Value)
                txtCodigoProduto.Text = CStr(.CurrentRow.Cells(6).Value)
                nupQtde.Value = CInt(.CurrentRow.Cells(3).Value)
                txtVlVenda.Text = FormatCurrency(.CurrentRow.Cells(4).Value)
                lblCodigoDetalheProjeto.Text = CStr(.CurrentRow.Cells(0).Value)
            End With
        End If
    End Sub
    Private Sub txtCodigoProduto_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCodigoProduto.TextChanged
        'Traz o Valor de Lista quando modificar o valor do Código de produto
        If txtCodigoProduto.Text <> "" Then
            Dim clsProduto As New clsProduto
            txtVlLista.Text = FormatCurrency(clsProduto.SelectProdutoVlLista(CInt(txtCodigoProduto.Text)))
        End If

    End Sub
    Private Sub btnExcluiProduto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcluiProduto.Click
        If gvProduto.RowCount >= 1 Then
            Dim clsDetalheprojeto As New clsDetalheProjeto
            clsDetalheprojeto.DeleteDETALHEPROJETO(CInt(gvProduto.CurrentRow.Cells(0).Value))
            CarregaGridProduto()
        End If
    End Sub
    Private Sub txtCodigoEmp_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCodigoEmp.TextChanged
        'Preenche Combos
        Call PreencheCombo()
    End Sub
    Private Sub cboContato_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboContato.GotFocus
        SendKeys.Send("{F4}")
    End Sub
    Private Sub btnIncluiHistorico_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluiHistorico.Click
        If cboContato.Text <> "" Then
            If cboOPP.Text <> "" Then
                If cboCheckMate.Text <> "" Then
                    If txtHistorico.Text <> "" And Len(txtHistorico.Text) > 4 Then
                        Dim clsHistorico As New clsHistorico
                        With clsHistorico
                            .CODIGO_PROJ = CLng(txtCodigo.Text)
                            .CODIGO_CONT = CLng(cboContato.SelectedValue)
                            .CODIGO_CLASS = CInt(cboOPP.SelectedValue)
                            .CODIGO_CHECK = CInt(cboCheckMate.SelectedValue)
                            .HISTORICO_HIST = txtHistorico.Text
                            .PROXCONTATO_HIST = dtProxContatoHist.Value
                            .DATA_HIST = CDate(dtDataHistorico.Text)
                            .ATIVO = True
                            If lblCodigoHist.Text <> "" Then
                                .CODIGO_HIST = CInt(lblCodigoHist.Text)
                                .UpdateHISTORICO(CInt(lblCodigoHist.Text))
                            Else
                                .InsertHISTORICO()
                            End If
                            Call CarregaGridHistorico()
                        End With
                        Call LimpaHistorico()
                    Else
                        MessageBox.Show("Histórico deve ser mais detalhado", "Aviso")
                        cboOPP.Focus()
                    End If
                Else
                    MessageBox.Show("Informe o CHECKMATE", "Aviso")
                    cboCheckMate.Focus()
                End If
            Else
                MessageBox.Show("Informe a Oportunidade", "Aviso")
                cboOPP.Focus()
            End If
        Else
            MessageBox.Show("Informe o Nome de Contato", "Aviso")
            cboContato.Focus()
        End If
    End Sub
    Private Sub CarregaGridHistorico()
        'Instancia o cls Produto
        Dim clsHistorico As New clsHistorico
        'Instancia o Dataset e Preenche com o Select de produto específico
        Dim ds As DataSet = clsHistorico.SelectHistoricoForGrid(CLng(txtCodigo.Text))

        'Verifica se há dados

        'Preencho o DataGridView
        With Me.gvHistorico
            .Visible = True
            .DataSource = ds.Tables(0)
            .Columns(0).Visible = False
            .Columns(1).HeaderText = "Data"
            .Columns(1).DefaultCellStyle.Format = "dd/MM/yyyy"
            .Columns(2).HeaderText = "Histórico"
            .Columns(3).HeaderText = "Contato"
            .Columns(4).HeaderText = "Prox. Contato"
            .Columns(4).DefaultCellStyle.Format = "dd/MM/yyyy"
            .Columns(5).Visible = False
            .Columns(6).Visible = False
        End With

    End Sub
    Private Sub gvHistorico_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles gvHistorico.CellClick
        If gvHistorico.RowCount >= 1 Then
            With gvHistorico
                dtDataHistorico.Value = CDate((.CurrentRow.Cells(1).Value))
                cboContato.Text = CStr(.CurrentRow.Cells(3).Value)
                cboOPP.Text = CStr(.CurrentRow.Cells(5).Value)
                cboCheckMate.Text = (CStr(.CurrentRow.Cells(6).Value))
                dtProxContatoHist.Value = CDate(.CurrentRow.Cells(4).Value)
                lblCodigoHist.Text = CStr((.CurrentRow.Cells(0).Value))
                txtHistorico.Text = CStr(.CurrentRow.Cells(2).Value)
            End With
        End If
    End Sub
    Private Sub LimpaHistorico()
        ' Limpa os dados do controle
        dtDataHistorico.Value = Date.Now
        dtProxContatoHist.Value = Date.Now.AddDays(7)
        cboContato.SelectedIndex = -1
        cboOPP.SelectedIndex = -1
        cboCheckMate.SelectedIndex = -1
        txtHistorico.Text = ""
        lblCodigoHist.Text = ""
    End Sub
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        'Limpa Controle
        Call LimpaHistorico()
    End Sub
    Private Sub btnExcluiHistorico_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcluiHistorico.Click
        If lblCodigoHist.Text <> "" Then
            Dim clsHistorico As New clsHistorico
            clsHistorico.DeleteHISTORICO(CInt(lblCodigoHist.Text))
            CarregaGridHistorico()
            Call LimpaHistorico()
        End If
    End Sub
    Private Sub btnIncluirCotacao_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluirCotacao.Click
        Dim clsCotacao As New clsCotacao
        With clsCotacao
            .CODIGO_PROJ = CLng(txtCodigo.Text)
            .REFERENCIA_COT = txtCodigoRefCotacao.Text
            .DATA_COT = dtDataCotacao.Value
            .VALOR_COT = CSng(txtValorCotacao.Text)
            .APROVADO_COT = True
            If lblCodigoCot.Text <> "" Then
                .CODIGO_COT = CInt(lblCodigoCot.Text)
                .UpdateCOTACAO(CInt(lblCodigoCot.Text))
            Else
                .InsertCOTACAO()
            End If
            Call CarregaGridCotacao()
            Call LimpaCotacao()
        End With

    End Sub
    Private Sub CarregaGridCotacao()
        Dim clsCotacao As New clsCotacao
        With gvCotacao
            .DataSource = clsCotacao.SelectCotacaoForGrid(CLng(txtCodigo.Text)).Tables(0)
            .Columns(0).Visible = False
            .Columns(1).HeaderText = "Referência"
            .Columns(2).HeaderText = "Data"
            .Columns(3).HeaderText = "Valor"
            .Columns(3).DefaultCellStyle.Format = "#,###,##0.00"
        End With
    End Sub
    Private Sub gvCotacao_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles gvCotacao.CellClick
        If gvCotacao.RowCount >= 1 Then
            With gvCotacao
                txtCodigoRefCotacao.Text = CStr(.CurrentRow.Cells(1).Value)
                dtDataCotacao.Value = CDate(.CurrentRow.Cells(2).Value)
                txtValorCotacao.Text = CStr(.CurrentRow.Cells(3).Value)
                lblCodigoCot.Text = CStr(.CurrentRow.Cells(0).Value)
            End With
        End If
    End Sub
    Private Sub LimpaCotacao()
        txtCodigoRefCotacao.Text = ""
        dtDataCotacao.Value = Date.Now
        txtValorCotacao.Text = ""
        lblCodigoCot.Text = ""
    End Sub
    Private Sub btnExcluirCotacao_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcluirCotacao.Click
        If lblCodigoCot.Text <> "" Then
            Dim clsCotacao As New clsCotacao
            clsCotacao.DeleteCOTACAO(CInt(lblCodigoCot.Text))
            Call CarregaGridCotacao()
            Call LimpaCotacao()
        End If
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNovoCotacao.Click
        Call LimpaCotacao()
    End Sub

    Private Sub cboOPP_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboOPP.GotFocus
        SendKeys.Send("{F4}")
    End Sub
    Private Sub cboCheckMate_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboCheckMate.GotFocus
        SendKeys.Send("{F4}")
    End Sub
    Private Sub btnIncluiConcorrente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluiConcorrente.Click
        If Not String.IsNullOrEmpty(cboConcorrente.Text) Then
            If Len(txtObservacao.Text.Trim) > 4 Then
                Dim clsDetalheProjetoConcorrente As New clsDetalheProjetoConcorrente
                With clsDetalheProjetoConcorrente
                    .CODIGO_CONC = CInt(cboConcorrente.SelectedValue)
                    .CODIGO_PROJ = CLng(txtCodigo.Text)
                    .OBSERVACAO_DETCONC = txtObservacao.Text
                    .DATAATUALIZACAO = Date.Now()
                    If Not String.IsNullOrEmpty(lblCodigoConcorrente.Text) Then
                        .UpdateDetalheProjetoConcorrente(CInt(lblCodigoConcorrente.Text))
                    Else
                        .InsertDetalheprojetoConcorrente()
                    End If
                    Call CarregaGridConcorrente()
                    Call LimpacontroleConcorrente()
                End With
            Else
                MsgBox("Insira uma observação maior")
                txtObservacao.Focus()
            End If
        Else
            MsgBox("Defina um Concorrente")
            cboConcorrente.Focus()
        End If
    End Sub
    Private Sub CarregaGridConcorrente()
        Dim clsDetalheProjetoConcorrente As New clsDetalheProjetoConcorrente
        With gvConcorrente
            .DataSource = clsDetalheProjetoConcorrente.SelectdetalheProjetoConcorrenteForGrid(CLng(txtCodigo.Text)).Tables(0)
            .Columns(0).Visible = False
            .Columns(1).HeaderText = "Concorrente"
            .Columns(2).HeaderText = "Observação"
        End With
    End Sub
    Private Sub LimpacontroleConcorrente()
        cboConcorrente.SelectedIndex = -1
        txtObservacao.Text = ""
        lblCodigoConcorrente.Text = ""
    End Sub
    Private Sub btnExcluiConcorrente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcluiConcorrente.Click
        If Not String.IsNullOrEmpty(lblCodigoConcorrente.Text) Then
            Dim clsDetalheprojetoConcorrente As New clsDetalheProjetoConcorrente
            clsDetalheprojetoConcorrente.DeleteDetalheProjectoConcorrente(CLng(lblCodigoConcorrente.Text))
            Call CarregaGridConcorrente()
            Call LimpacontroleConcorrente()
        End If
    End Sub
    Private Sub gvConcorrente_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles gvConcorrente.CellClick
        If gvConcorrente.RowCount >= 1 Then
            cboConcorrente.Text = CStr(gvConcorrente.CurrentRow.Cells(1).Value)
            txtObservacao.Text = CStr(gvConcorrente.CurrentRow.Cells(2).Value)
            lblCodigoConcorrente.Text = CStr(gvConcorrente.CurrentRow.Cells(0).Value)
        End If
    End Sub
    Private Sub btnNovo_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGravar.Click
        Dim clsProjeto As New clsProjeto
        With clsProjeto
            .CODIGO_EMP = CLng(txtCodigoEmp.Text)
            .NOME_PROJ = txtSistema.Text
            .CODIGO_DIV = CODIGO_DIV
            .CODIGO_TIPO = CInt(cboTipo.SelectedValue)
            .PREVISAOFECHAMENTO = CDate(dtPrevFechamento.Text)
            .ATIVO = True
            If txtCodigo.Text <> "" Then
                .UpdatePROJETO(CLng(txtCodigo.Text))
                MessageBox.Show("Registro alterado com sucesso!", "Aviso")
            Else
                txtCodigo.Text = .InsertPROJETO().ToString
                Me.Operacao = clsFuncoesGerais.Operacao.Alteracao
                TabControl1.Visible = True
            End If
        End With
    End Sub

    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim frmCadastroContato As New frmCadastroContato
        With frmCadastroContato
            .txtNome_Emp.Text = txtEmpresa.Text
            .txtCODIGO_EMP.Text = txtCodigoEmp.Text
            .Operacao = clsFuncoesGerais.Operacao.Inclusao
            .ShowDialog()
        End With
        Call PreencheCombo()
    End Sub

    Private Sub txtCotacao_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCotacao.TextChanged

    End Sub
End Class
