Imports System.Collections.Generic
Imports System.Text
Imports System.Data.SqlClient
Imports System.Data

Public Class clsProduto

    Private _CODIGO_PROD As Integer
    Public Property CODIGO_PROD() As Integer
        Get
            Return _CODIGO_PROD
        End Get
        Set(ByVal value As Integer)
            _CODIGO_PROD = value
        End Set
    End Property

    Private _NOME_PROD As String
    Public Property NOME_PROD() As String
        Get
            Return _NOME_PROD
        End Get
        Set(ByVal value As String)
            _NOME_PROD = value
        End Set
    End Property

    Private _DESCR_PROD As String
    Public Property DESCR_PROD() As String
        Get
            Return _DESCR_PROD
        End Get
        Set(ByVal value As String)
            _DESCR_PROD = value
        End Set
    End Property

    Private _VALORUNITARIO_PROD As Single
    Public Property VALORUNITARIO_PROD() As Single
        Get
            Return _VALORUNITARIO_PROD
        End Get
        Set(ByVal value As Single)
            _VALORUNITARIO_PROD = value
        End Set
    End Property

    Private _CODIGO_UNID As Integer
    Public Property CODIGO_UNID() As Integer
        Get
            Return _CODIGO_UNID
        End Get
        Set(ByVal value As Integer)
            _CODIGO_UNID = value
        End Set
    End Property

    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 _ATUALIZADO As Boolean
    Public Property ATUALIZADO() As Boolean
        Get
            Return _ATUALIZADO
        End Get
        Set(ByVal value As Boolean)
            _ATUALIZADO = value
        End Set
    End Property

    Private _DATAATUALIZACAO As DateTime
    Public Property DATAATUALIZACAO() As DateTime
        Get
            Return _DATAATUALIZACAO
        End Get
        Set(ByVal value As DateTime)
            _DATAATUALIZACAO = value
        End Set
    End Property


    Public Function SelectProdutoforGrid(ByVal intCodigoDivisao As Integer, ByVal strName As String) As DataSet
        Dim clsBanco As New clsBanco
        Dim strsql As String
        strsql = "SELECT "
        strsql = strsql & "P.CODIGO_PROD"
        strsql = strsql & ",P.NOME_PROD"
        strsql = strsql & ",P.DESCR_PROD"
        strsql = strsql & ",P.VALORUNITARIO_PROD"
        strsql = strsql & ",U.NOME_UNID"
        strsql = strsql & ",D.NOME_DIV"
        strsql = strsql & " FROM TBL_PRODUTO AS P"
        strsql = strsql & " INNER JOIN TBL_DIVISAO AS D"
        strsql = strsql & " ON P.CODIGO_DIV = D.CODIGO_DIV"
        strsql = strsql & " INNER JOIN TBL_UNIDADEMEDIDA AS U"
        strsql = strsql & " ON P.CODIGO_UNID = U.CODIGO_UNID"
        strsql = strsql & " WHERE P.CODIGO_DIV = " & intCodigoDivisao

        If strName <> "" Then
            strsql = strsql & " AND DESCR_PROD LIKE '" & strName & "'"
        End If

        Return clsBanco.RetornaDataSet(strsql.ToString)

    End Function
    Public Function SelectProdutoforGridCompleto() As DataSet
        Dim clsBanco As New clsBanco
        Dim strsql As String
        strsql = "SELECT "
        strsql = strsql & "P.CODIGO_PROD"
        strsql = strsql & ",P.NOME_PROD"
        strsql = strsql & ",P.DESCR_PROD"
        strsql = strsql & ",P.VALORUNITARIO_PROD"
        strsql = strsql & ",U.NOME_UNID"
        strsql = strsql & ",D.NOME_DIV"
        strsql = strsql & " FROM TBL_PRODUTO AS P"
        strsql = strsql & " INNER JOIN TBL_DIVISAO AS D"
        strsql = strsql & " ON P.CODIGO_DIV = D.CODIGO_DIV"
        strsql = strsql & " INNER JOIN TBL_UNIDADEMEDIDA AS U"
        strsql = strsql & " ON P.CODIGO_UNID = U.CODIGO_UNID"

        Return clsBanco.RetornaDataSet(strsql.ToString)

    End Function
    Public Function SelectProdutoforGridConsulta(ByVal intCodigoDivisao As Integer) As DataSet


        Dim clsBanco As New clsBanco
        Dim strsql As String
        strsql = "SELECT "
        strsql = strsql & "P.CODIGO_PROD"
        strsql = strsql & ",P.NOME_PROD"
        strsql = strsql & ",P.DESCR_PROD"
        strsql = strsql & ",P.VALORUNITARIO_PROD"
        strsql = strsql & ",U.NOME_UNID"
        strsql = strsql & " FROM TBL_PRODUTO AS P"
        strsql = strsql & " INNER JOIN TBL_DIVISAO AS D"
        strsql = strsql & " ON P.CODIGO_DIV = D.CODIGO_DIV"
        strsql = strsql & " INNER JOIN TBL_UNIDADEMEDIDA AS U"
        strsql = strsql & " ON P.CODIGO_UNID = U.CODIGO_UNID"
        strsql = strsql & " WHERE P.CODIGO_DIV = " & intCodigoDivisao
        Return clsBanco.RetornaDataSet(strsql.ToString)

    End Function

    Public Function SelectProdutoVlLista(ByVal IntCodigo As Integer) As Single
        Dim clsBanco As New clsBanco
        Dim strsql As String
        Dim dr As SqlDataReader

        strsql = "SELECT VALORUNITARIO_PROD FROM TBL_PRODUTO WHERE CODIGO_PROD = " & IntCodigo
        dr = clsBanco.RetornaDataReader(strsql.ToString)

        If dr.Read Then
            Return CSng(dr("VALORUNITARIO_PROD"))
        Else
            Return 0
        End If


    End Function


    Public Function SelectPRODUTO() As DataSet
        Dim clsBanco As New clsBanco
        Dim strsql As String
        strsql = "SELECT * FROM TBL_PRODUTO"
        Return clsBanco.RetornaDataSet(strsql.ToString)

    End Function
    Public Sub DeletePRODUTO(ByVal IntCodigo As Integer)
        Dim clsBanco As New clsBanco
        Dim strsql As String
        strsql = "DELETE FROM TBL_PRODUTO"
        strsql = strsql & " WHERE CODIGO_PROD  =  " & IntCodigo
        clsBanco.ExecutaComando(strsql.ToString)
    End Sub
    Public Sub UpdatePRODUTO(ByVal IntCodigo As Integer)
        Dim clsBanco As New clsBanco

        Dim strsql As String

        strsql = "UPDATE TBL_PRODUTO  SET "
        strsql = strsql & "NOME_PROD= '" & _NOME_PROD & "'"
        strsql = strsql & ",DESCR_PROD= '" & _DESCR_PROD & "'"
        strsql = strsql & ",VALORUNITARIO_PROD = " & _VALORUNITARIO_PROD
        strsql = strsql & ",CODIGO_UNID = " & _CODIGO_UNID
        strsql = strsql & ",CODIGO_DIV = " & _CODIGO_DIV
        strsql = strsql & ",ATUALIZADO= " & 1
        strsql = strsql & ",DATAATUALIZACAO= '" & _DATAATUALIZACAO & "'"
        strsql = strsql & " WHERE CODIGO_PROD = " & IntCodigo

        clsBanco.ExecutaComando(strsql.ToString)
    End Sub
    Public Sub InsertPRODUTO()
        Dim clsBanco As New clsBanco

        Dim strsql As String

        strsql = "INSERT INTO TBL_PRODUTO("
        strsql = strsql & "NOME_PROD"
        strsql = strsql & ",DESCR_PROD"
        strsql = strsql & ",VALORUNITARIO_PROD"
        strsql = strsql & ",CODIGO_UNID"
        strsql = strsql & ",CODIGO_DIV"
        strsql = strsql & ",ATUALIZADO"
        strsql = strsql & ",DATAATUALIZACAO"
        strsql = strsql & ")VALUES("
        strsql = strsql & "'" & _NOME_PROD & "'"
        strsql = strsql & ",'" & _DESCR_PROD & "'"
        strsql = strsql & "," & Replace(CStr(_VALORUNITARIO_PROD), ",", ".")
        strsql = strsql & "," & _CODIGO_UNID
        strsql = strsql & "," & _CODIGO_DIV
        strsql = strsql & "," & 1
        strsql = strsql & ",'" & _DATAATUALIZACAO & "'"
        strsql = strsql & ")"

        clsBanco.ExecutaComando(strsql.ToString)
    End Sub
End Class

