Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Text

Public Class Supplier
    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.DataTextField = "Text"
        ddlTY.DataValueField = "Value"
        ddlTY.DataBind()
        ddlTD.DataSource = ddlFD.Items()
        ddlTD.DataTextField = "Text"
        ddlTD.DataValueField = "Value"
        ddlTD.DataBind()
    End Sub

    Public Sub gettable()
        If Not ds.Tables("SPS") Is Nothing Then
            ds.Tables("SPS").Clear()
        End If
        sql = "Select * from VIEW1 where Due < '" & getCurrentDate() & "'"
        da = New SqlClient.SqlDataAdapter(sql, con)
        da.Fill(ds, "SPS")
    End Sub
    Private Function getCurrentDate() As String
        Dim strDate As String = ""
        Dim intYr, intMonth As Int32
        intYr = DatePart(DateInterval.Year, DateAndTime.Now())
        intMonth = DatePart(DateInterval.Month, DateAndTime.Now())
        If intMonth < 10 Then
            strDate = intYr & "0" & intMonth & "15"
        Else
            strDate = intYr & intMonth & "15"
        End If
        Return strDate
    End Function


    Public Sub getGrid(ByVal dg As DataGrid)
        Dim dgitm As DataGridItem
        Dim dd As DropDownList
        Dim btn As Button
        For Each dgitm In dg.Items
            dd = CType(dgitm.FindControl("ddlStatus"), DropDownList)
            If Not dd Is Nothing Then
                dd.Items.Add(New ListItem("Pending", "PD"))
                dd.Items.Add(New ListItem("Disbursed", "DP"))
            End If
            dd = CType(dgitm.FindControl("ddlMOP"), DropDownList)
            If Not dd Is Nothing Then
                dd.Items.Add(New ListItem("Demand Draft", "D"))
                dd.Items.Add(New ListItem("Cheque", "C"))
                dd.Items.Add(New ListItem("ECS", "E"))
                dd.Items.Add(New ListItem("Credit Note", "N"))
            End If
            btn = CType(dgitm.FindControl("btnUpdate"), Button)
            If Not btn Is Nothing Then
                btn.Attributes.Add("OnClick", "if ( !confirm('" + getdata(dgitm) + "') ) return false")
            End If
            dgitm.Visible = True
        Next
        dg.Columns(7).Visible = False
        dg.Columns(8).Visible = False
        dg.Columns(9).Visible = False
        dg.Columns(10).Visible = False
        dg.Columns(11).Visible = False
    End Sub

    Friend Function MessageBox() As Label
        Dim lbl As New Label()
        lbl.Text = "<script language='javascript'>" & Environment.NewLine & _
                       "window.alert('Select Proper DateFrom and DateTo')</script>"
        Return lbl
    End Function

    Friend Sub getcmbData(ByVal ddshipname As DropDownList)
        ddshipname.Items.Add(New ListItem("All", 0))
        sql = "Select ci_id,ci_cname from spp_corporateinformation1 order by ci_cname asc"
        cmd = New SqlClient.SqlCommand(sql, con)
        If con.State = ConnectionState.Open Then
            con.Close()
        End If
        con.Open()
        dr = cmd.ExecuteReader()
        While dr.Read = True
            ddshipname.Items.Add(New ListItem(dr.Item(1), dr.Item(0)))
        End While
        dr.Close()
        con.Close()
    End Sub

    Private Function getdata(ByVal dgitm As DataGridItem) As String
        Dim str1 As New StringBuilder()
        str1.Append("Supplier Name : " & dgitm.Cells(0).Text & "")
        str1.Append("\n\n")
        str1.Append("Order ID : " & dgitm.Cells(1).Text & "" & "")
        str1.Append("\n\n")
        str1.Append("Amount :Rs." & dgitm.Cells(4).Text & "")
        str1.Append("\n\n")
        str1.Append("Do you want to Save the Data?")
        Return str1.ToString
    End Function

    Protected Friend Function checkDate(ByVal strID As Int32, ByVal strFY As String, ByVal strFM As String, ByVal strFD As String, _
                             ByVal strTY As String, ByVal strTM As String, ByVal strTD As String) As String

        Dim strCondition As String
        If strFY = "0" And strTY = "0" And _
                    strFM = "00" And strTM = "00" And _
                    strFD = "0" And strTD = "0" Then
            strCondition = "SID=" & strID
        ElseIf strFY.Trim = "0" Or strTY.Trim = "0" Or _
            strFM.Trim = "00" Or strTM.Trim = "00" Or _
            strFD.Trim = "0" Or strTD.Trim = "0" Then
            strCondition = "False"
        ElseIf CInt(strFY.Trim & strFM.Trim & strFD.Trim) > CInt(strTY.Trim & strTM.Trim & strTD.Trim) Then
            strCondition = "False"
        Else
            'strCondition = "SID=" & strID & " and DC >= " & CInt(strFY.Trim & strFM.Trim & strFD.Trim) & " and DC <= " & CInt(strTY.Trim & strTM.Trim & strTD.Trim) & ""
            If strID = 0 Then
                strCondition = "DC >= " & CInt(strFY.Trim & strFM.Trim & strFD.Trim) & " and DC <= " & CInt(strTY.Trim & strTM.Trim & strTD.Trim) & ""
            Else
                strCondition = "SID=" & strID & " and DC >= " & CInt(strFY.Trim & strFM.Trim & strFD.Trim) & " and DC <= " & CInt(strTY.Trim & strTM.Trim & strTD.Trim) & ""
            End If
        End If
        Return strCondition.Trim
    End Function

    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", 0))
        For i = 2000 To Year(Now)
            ddlFY.Items.Add(New ListItem(i))
        Next
        ddlFD.Items.Add(New ListItem("Select Day", 0))
        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 Mod 4 = 0 Then
            Return True
        Else
            Return False
        End If
    End Function

  Public Sub validMonth(ByVal intYear As Integer, ByVal intmonth As Int32, ByVal ddl As DropDownList)
        If validYear(intYear) = True And intmonth = 2 Then
            If ddl.Items.Count = 29 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 = 29 Then
                ddl.Items.Add(29)
                ddl.Items.Add(30)
            ElseIf ddl.Items.Count = 30 Then
                ddl.Items.Add(30)
            ElseIf ddl.Items.Count = 32 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 = 31 Then
                ddl.Items.Add(31)
            ElseIf ddl.Items.Count = 30 Then
                ddl.Items.Add(30)
                ddl.Items.Add(31)
            ElseIf ddl.Items.Count = 29 Then
                ddl.Items.Add(29)
                ddl.Items.Add(30)
                ddl.Items.Add(31)
            End If
        End If
    End Sub

End Class

