Imports System
Imports System.Data
Imports System.Data.SqlClient

Public Class SupplierAcc
    Dim i As Integer
    Public Sub loadyearday(ByVal ddlFY As DropDownList, ByVal ddlTY As DropDownList, _
                        ByVal ddlFM As DropDownList, ByVal ddlTM As DropDownList, _
                        ByVal ddlFD As DropDownList, ByVal ddlTD As DropDownList)

        FillDate(ddlFY, ddlFM, ddlTM, ddlFD)
        ddlTY.DataSource = ddlFY.Items()
        ddlTY.DataBind()
        ddlTD.DataSource = ddlFD.Items()
        ddlTD.DataBind()
    End Sub


    Private Sub FillDate(ByVal ddlFY As DropDownList, ByVal ddlFM As DropDownList, _
                         ByVal ddlTM As DropDownList, ByVal ddlFD As DropDownList)
        ddlFY.Items.Add(New ListItem("Select Year"))
        For i = 2000 To Year(Now)
            ddlFY.Items.Add(New ListItem(i))
        Next
        ddlFD.Items.Add(New ListItem("Select Day"))
        For i = 1 To 31
            If i < 10 Then
                ddlFD.Items.Add(New ListItem("0" & i))
            Else
                ddlFD.Items.Add(New ListItem(i))
            End If
        Next
        Dim hash As New SortedList()
        hash.Add("00", "Select Month")
        hash.Add("01", "Jan")
        hash.Add("02", "Feb")
        hash.Add("03", "Mar")
        hash.Add("04", "Apr")
        hash.Add("05", "May")
        hash.Add("06", "June")
        hash.Add("07", "July")
        hash.Add("08", "Aug")
        hash.Add("09", "Sep")
        hash.Add("10", "Oct")
        hash.Add("11", "Nov")
        hash.Add("12", "Dec")

        ddlFM.DataSource = hash
        ddlFM.DataTextField = "Value"
        ddlFM.DataValueField = "Key"
        ddlFM.DataBind()

        ddlTM.DataSource = hash
        ddlTM.DataTextField = "Value"
        ddlTM.DataValueField = "Key"
        ddlTM.DataBind()
    End Sub

    Private Function validYear(ByVal intYear As Integer) As Boolean
        If intYear = 0 Then
            Return False
        Else
            If intYear Mod 4 = 0 Then
                Return True
            Else
                Return False
            End If
        End If

    End Function

    Public Sub validMonth(ByVal intYear As Integer, ByVal intmonth As Int32, ByVal ddl As DropDownList)
        If intYear = 0 Then
            Exit Sub
        Else
            If validYear(intYear) = True And intmonth = 2 Then
                If ddl.Items.Count = 28 Then
                    ddl.Items.Add(29)
                End If
                ddl.Items.Remove(30)
                ddl.Items.Remove(31)
            ElseIf intmonth = 2 Then
                ddl.Items.Remove(29)
                ddl.Items.Remove(30)
                ddl.Items.Remove(31)
            ElseIf intmonth = 4 Or intmonth = 6 Or intmonth = 9 Or intmonth = 11 Then
                If ddl.Items.Count = 28 Then
                    ddl.Items.Add(29)
                    ddl.Items.Add(30)
                ElseIf ddl.Items.Count = 29 Then
                    ddl.Items.Add(30)
                ElseIf ddl.Items.Count = 31 Then
                    ddl.Items.Remove(31)
                End If
            ElseIf intmonth = 1 Or intmonth = 3 Or intmonth = 5 Or intmonth = 7 Or intmonth = 8 Or intmonth = 10 Or intmonth = 12 Then
                If ddl.Items.Count = 30 Then
                    ddl.Items.Add(31)
                ElseIf ddl.Items.Count = 29 Then
                    ddl.Items.Add(30)
                    ddl.Items.Add(31)
                ElseIf ddl.Items.Count = 28 Then
                    ddl.Items.Add(29)
                    ddl.Items.Add(30)
                    ddl.Items.Add(31)
                End If
            End If
        End If
    End Sub

    Friend Function Messagebox(ByVal intval As Integer)
        Dim lbl As New Label()
        If intval = 0 Then
            lbl.Text = "<script language='javascript'>" & Environment.NewLine & "window.alert('Invalid date')</script>"
        ElseIf intval = 1 Then
            lbl.Text = "<script language='javascript'>" & Environment.NewLine & "window.alert('To date should be greater than From date')</script>"
        End If
        Return lbl
    End Function

    Friend Sub PendingPayment(ByVal DgPending As DataGrid, ByVal SupId As Integer)
        Try
            If Not ds.Tables("SupPending") Is Nothing Then
                ds.Tables("SupPending").Clear()
            End If
            sql = "select * from SupPendingOrder where SupplierID='" & SupId & "' and Status='DP' and PStatus<>'DB' order by OrderId"
            If con.State = ConnectionState.Open Then
                con.Close()
            End If
            cmd = New SqlCommand(sql, con)
            da = New SqlDataAdapter(cmd)
            da.Fill(ds, "SupPending")
            DgPending.DataSource = ds.Tables("SupPending")
            DgPending.DataBind()
        Catch ex As Exception
            ex.Message.ToString()
        Finally
            If con.State = ConnectionState.Open Then
                con.Close()
            End If
        End Try
       
    End Sub

    Friend Sub DuePayment(ByVal DgPending As DataGrid, ByVal SupId As Integer)
        Try
            If Not ds.Tables("SupPending") Is Nothing Then
                ds.Tables("SupPending").Clear()
            End If
            sql = "select * from SupPendingOrder where SupplierID='" & SupId & "' and Status='DP' and PStatus<>'DB' order by OrderId desc"
            If con.State = ConnectionState.Open Then
                con.Close()
            End If
            cmd = New SqlCommand(sql, con)
            da = New SqlDataAdapter(cmd)
            da.Fill(ds, "SupPending")
            DgPending.DataSource = ds.Tables("SupPending")
            DgPending.DataBind()
        Catch ex As Exception
            ex.Message.ToString()
        Finally
            If con.State = ConnectionState.Open Then
                con.Close()

            End If
        End Try
      End Sub



    Friend Sub PendingPayment(ByVal DgPending As DataGrid, ByVal SupId As Integer, ByVal fromdate As String, ByVal todate As String)
        Try
            If Not ds.Tables("SupPending") Is Nothing Then
                ds.Tables("SupPending").Clear()
            End If
            Dim sql1 As String
            sql1 = "select * from SupPendingOrder where SupplierID='" & SupId & "' and Status='DP' and PStatus<>'DB' and CourierDate between '" & fromdate & "' and '" & todate & "' order by OrderId desc"
            If con.State = ConnectionState.Open Then
                con.Close()
            End If
            cmd = New SqlCommand(sql1, con)
            da = New SqlDataAdapter(cmd)
            da.Fill(ds, "SupPending")
            DgPending.DataSource = ds.Tables("SupPending")
            DgPending.DataBind()

        Catch ex As Exception
            ex.Message.ToString()
        Finally
            If con.State = ConnectionState.Open Then
                con.Close()
            End If
        End Try
       
    End Sub

    Friend Sub DisbursedPayment(ByVal DGridDisbursed As DataGrid, ByVal SupplierId As Integer)
        Try
            If Not ds.Tables("SupDisbursed") Is Nothing Then
                ds.Tables("SupDisbursed").Clear()
            End If
            sql = "select * from SupDisbursedOrder where SupplierID='" & SupplierId & "' and PStatus='DB' order by OrderId"
            If con.State = ConnectionState.Open Then
                con.Close()
            End If
            cmd = New SqlCommand(sql, con)
            da = New SqlDataAdapter(cmd)
            da.Fill(ds, "SupDisbursed")
            DGridDisbursed.DataSource = ds.Tables("SupDisbursed")
            DGridDisbursed.DataBind()
        Catch ex As Exception
            ex.Message.ToString()
        Finally
            If con.State = ConnectionState.Open Then
                con.Close()
            End If
        End Try
       
    End Sub

    Friend Sub DisbursedPayment(ByVal DGridDisbursed As DataGrid, ByVal SupplierId As Integer, ByVal fromdate As String, ByVal todate As String)
        Try
            If Not ds.Tables("SupDisbursed") Is Nothing Then
                ds.Tables("SupDisbursed").Clear()
            End If
            sql = "select * from SupDisbursedOrder where SupplierID='" & SupplierId & "' and PStatus='DB' and CourierDate between '" & CDate(fromdate) & "' and '" & CDate(todate) & "' order by OrderId desc"
            If con.State = ConnectionState.Open Then
                con.Close()
            End If
            cmd = New SqlCommand(sql, con)
            da = New SqlDataAdapter(cmd)
            da.Fill(ds, "SupDisbursed")
            DGridDisbursed.DataSource = ds.Tables("SupDisbursed")
            DGridDisbursed.DataBind()

        Catch ex As Exception
            ex.Message.ToString()
        Finally
            If con.State = ConnectionState.Open Then
                con.Close()
            End If
        End Try
       
    End Sub






End Class

