Imports System.Data.SqlClient

Public Class frmConsultaVendas


    Dim strCodigo As String
    Dim strCodigoInt As String

    Private Sub btnSair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSair.Click
        Me.Close()
    End Sub
    Private Sub CarregaTreeview()

        ' Instancias os Nós
        Dim NodeEmpresa As TreeNode
        Dim NodeProjeto As TreeNode
        Dim NodeDivisao As TreeNode

        'Instanciar as Classes
        Dim clsDivisao As New clsDivisao
        Dim clsProjeto As New clsProjeto

        'Instanciar os DataReaders
        Dim drDivisao As SqlDataReader = clsDivisao.SelectDIVISAOforTreeview()

        'Começa a atualização do TreeVIEW
        tvProduto.BeginUpdate()
        'Limpa os Nós
        tvProduto.Nodes.Clear()

        'Instancia o Primeiro NÓ
        NodeEmpresa = New TreeNode

        'Atribui as POropriedades
        With NodeEmpresa
            .ImageIndex = 0
            .Tag = "E"
            .Text = cboEmpresa.Text
        End With


        'Acrescenta o Primeiro nó
        tvProduto.Nodes.Add(NodeEmpresa)

        'Começa o LOOp de Divisão
        While drDivisao.Read()
            'Novo Nó
            NodeDivisao = New TreeNode

            With NodeDivisao
                .ImageIndex = 1
                .Tag = "D" & CStr(drDivisao("CODIGO_DIV"))
                .Text = CStr(drDivisao("NOME_DIV"))
            End With
            'Acrescenta o Nó de Divisão
            tvProduto.Nodes(NodeEmpresa.Index).Nodes.Add(NodeDivisao)

            'Data Reader de Projeto
            Dim drProjeto As SqlDataReader = clsProjeto.SelectProjetoforTreeview(CLng(cboEmpresa.SelectedValue), CInt(drDivisao("CODIGO_DIV")))

            'Loope de Projeto
            While drProjeto.Read()
                NodeProjeto = New TreeNode
                With NodeProjeto
                    .ImageIndex = 2
                    .Tag = "P" & "-" & CStr(drDivisao("CODIGO_DIV")) & "-" & CStr(drProjeto("CODIGO_PROJ"))
                    .Text = CStr(drProjeto("NOME_PROJ"))
                End With
                tvProduto.Nodes(NodeEmpresa.Index).Nodes(NodeDivisao.Index).Nodes.Add(NodeProjeto)
            End While
            NodeProjeto = New TreeNode
            With NodeProjeto
                .ImageIndex = 3
                .Tag = "N" & "-" & CStr(drDivisao("CODIGO_DIV"))
                .Text = "Novo...."
            End With
            tvProduto.Nodes(NodeEmpresa.Index).Nodes(NodeDivisao.Index).Nodes.Add(NodeProjeto)
        End While
        tvProduto.EndUpdate()
        tvProduto.ExpandAll()

    End Sub
    Private Sub PreencheComboEmpresa()

        Dim clsEmpresa As New clsEmpresa
        Dim ds As DataSet = clsEmpresa.SelectEmpresa()

        With cboEmpresa
            .DataSource = ds.Tables(0)
            .DisplayMember = "NOME_EMP"
            .ValueMember = "CODIGO_EMP"
        End With


    End Sub
    Private Sub frmTreeViewProduto_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Call PreencheComboEmpresa()
    End Sub
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Call CarregaTreeview()
    End Sub
    Private Sub tvProduto_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles tvProduto.AfterSelect
        strCodigo = Mid(CStr(e.Node.Tag), 1, 1)
        Select Case strCodigo
            Case "P"
                strCodigoInt = clsFuncoesGerais.RetornaDivisao(CStr(e.Node.Tag))
                strCodigo = clsFuncoesGerais.RetornaCodigoProjeto(CStr(e.Node.Tag))
                Dim frmCadastroVendas As New frmCadastroVendas
                With frmCadastroVendas
                    .CODIGO_DIV = CInt(strCodigoInt)
                    .Codigo_Proj = CLng(strCodigo)
                    .txtCodigo.Text = CStr(strCodigo)
                    .txtCodigoEmp.Text = CStr(cboEmpresa.SelectedValue)
                    .txtEmpresa.Text = CStr(cboEmpresa.Text)
                    .txtDivisao.Text = clsFuncoesGerais.RetornaNomeDivisao(CStr(e.Node.Tag))
                    .txtSistema.Text = e.Node.Text
                    .MdiParent = MdiParent
                    .Operacao = clsFuncoesGerais.Operacao.Alteracao
                    .TabControl1.Visible = True
                    .Show()

                End With
            Case "N"
                Dim frmCadastroVendas As New frmCadastroVendas
                With frmCadastroVendas
                    .CODIGO_DIV = CInt(clsFuncoesGerais.RetornaDivisao(CStr(e.Node.Tag)))
                    .txtDivisao.Text = clsFuncoesGerais.RetornaNomeDivisao(CStr(e.Node.Tag))
                    .txtCodigoEmp.Text = CStr(cboEmpresa.SelectedValue)
                    .txtEmpresa.Text = CStr(cboEmpresa.Text)
                    .MdiParent = MdiParent
                    .Operacao = clsFuncoesGerais.Operacao.Inclusao
                    .TabControl1.Visible = False
                    .Show()
                End With
        End Select
    End Sub

    Private Sub tvProduto_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles tvProduto.NodeMouseClick

        If e.Button = Windows.Forms.MouseButtons.Right Then
            strCodigo = clsFuncoesGerais.RetornaCodigoProjeto(CStr(e.Node.Tag))
            If strCodigo <> "E" And Mid(strCodigo, 1, 1) <> "D" Then
                Dim c As Control = DirectCast(sender, Control)
                ContextMenuStrip1.Show(c.PointToScreen(e.Location))
            End If
        End If

    End Sub
    Private Sub ExcluirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExcluirToolStripMenuItem.Click
        Dim clsProjeto As New clsProjeto
        If Not String.IsNullOrEmpty(strCodigo) Then
            If strCodigo <> "E" And Mid(strCodigo, 1, 1) <> "D" Then
                If (MsgBox("Deseja excluir este registro?", MsgBoxStyle.YesNo, "Aviso") = MsgBoxResult.Yes) Then
                    clsProjeto.DeletePROJETO(CLng(strCodigo))
                    Call CarregaTreeview()
                End If
            End If
        End If
    End Sub

End Class
