﻿Imports System
Imports System.Data
Imports System.Data.SqlClient
Partial Class MentorDailyWork
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Session("AdminID") Is Nothing Then
            Response.Redirect("AdminLogin.aspx?sesn=expire")
            Exit Sub
        End If
        If Not IsPostBack Then
            fillcombo()
            'fillgrid("", "")
            divMessage.InnerHtml = ""
            divMessageSupplier.InnerHtml = ""
        End If
    End Sub

    Public Sub fillgrid(ByVal fdate As String, ByVal tdate As String, ByVal PEID As String)
        Dim dt As New DataTable
        Dim prodCount As String
        If fdate = "" And tdate = "" Then
            dt = ReturnDataTable("SELECT Supplier_Name, Supplier_Kid FROM Supplier_Master WHERE (Supplier_Kid IN (SELECT DISTINCT Product_SupplierId AS Expr1 FROM Product_Master  WHERE (Product_UserId = N'" & RemoveLiterals(PEID) & "') AND (Product_IsDeleted = N'0'))) order by Supplier_Name")
        Else
            'dt = ReturnDataTable("SELECT Supplier_Name, supplier_kid FROM Supplier_Master WHERE (Supplier_Kid IN (SELECT distinct Product_SupplierID FROM Product_Master WHERE (Product_UserId = N'" & RemoveLiterals(Session("AdminID").ToString) & "') AND (Product_IsDeleted = N'0') and  convert(nvarchar,Product_RegDate,101) <= '" & tdate.ToString.Trim & "' and convert(nvarchar,Product_RegDate,101) >= '" & fdate.ToString.Trim & "'))")
            Dim sqlCmd As New SqlCommand
            Dim sqlCon As SqlConnection
            Dim adp As SqlDataAdapter
            sqlCon = New SqlConnection(ConfigurationManager.AppSettings("ConnectionString"))
            sqlCon.Open()
            With sqlCmd
                .CommandText = "Sp_QualityCheck"
                .CommandType = Data.CommandType.StoredProcedure
                .Connection = sqlCon
                .Parameters.AddWithValue("@Mode", "Select_SupplierMaster")
                .Parameters.AddWithValue("@FormName", Me.Title)
                .Parameters.AddWithValue("@FromDate", txtfDate.Text)
                .Parameters.AddWithValue("@ToDate", txttDate.Text)
                .Parameters.AddWithValue("@UserId", RemoveLiterals(PEID.ToString))
                '.ExecuteNonQuery()
                adp = New SqlDataAdapter(sqlCmd)
            End With

            adp.Fill(dt)
        End If
        gvDailyWork.DataSource = dt
        gvDailyWork.DataBind()
        prodCount = ReturnValue("SELECT Count(*) As TotalProduct FROM Product_Master INNER JOIN Brand_Master ON Product_Master.Product_BrandId = Brand_Master.Brand_Kid WHERE (Product_Master.Product_UserId = N'" + PEID + "') AND (Product_Master.Product_IsDeleted = N'0')")
        divMessageSupplier.InnerHtml = "<table width='100%'><tr><td align='left'>Total Record : <b style='color:blue'>" + dt.Rows.Count.ToString + "</b></td><td align='right'>Total Products : <b style='color:blue'>" + prodCount.ToString + "</b></td></tr></table>"

    End Sub

    Protected Sub fillcombo()
        Try
            Dim dt As DataTable
            dt = ReturnDataTable("SELECT AdminUser_Kid, AdminUser_Name FROM AdminUser WHERE (AdminUser_IsDeleted = N'0') AND (AdminUser_ReportingTo = N'" + Session("g_User").ToString + "') Order By AdminUser_Name")
            ddlPE.DataSource = dt
            ddlPE.DataTextField = "AdminUser_Name"
            ddlPE.DataValueField = "AdminUser_Kid"
            ddlPE.DataBind()
            ddlPE.Items.Insert(0, New ListItem("Select", "0"))
        Catch ex As Exception
        End Try
    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Try
            Dim datef, datet As DateTime
            datef = Format$(Convert.ToDateTime(txtfDate.Text.Trim), "")
            datet = Format$(Convert.ToDateTime(txttDate.Text.Trim), "")

            'Dim i As String = DateDiff(DateInterval.Day, datef, datet)
            Dim dt As New DataTable
            If DateDiff(DateInterval.Day, datef, datet) >= 0 Then


                'Dim sqlCmd As New SqlCommand
                'Dim sqlCon As SqlConnection
                'Dim adp As SqlDataAdapter
                'sqlCon = New SqlConnection(ConfigurationManager.AppSettings("ConnectionString"))
                'sqlCon.Open()
                'With sqlCmd
                '    .CommandText = "Sp_QualityCheck"
                '    .CommandType = Data.CommandType.StoredProcedure
                '    .Connection = sqlCon
                '    .Parameters.AddWithValue("@Mode", "Select_SupplierMaster")
                '    .Parameters.AddWithValue("@FormName", Me.Title)
                '    .Parameters.AddWithValue("@FromDate", txtfDate.Text)
                '    .Parameters.AddWithValue("@ToDate", txttDate.Text)
                '    .Parameters.AddWithValue("@UserId", Session("AdminID").ToString)
                '    '.ExecuteNonQuery()
                '    adp = New SqlDataAdapter(sqlCmd)
                'End With

                'adp.Fill(dt)
                'gvDailyWork.DataSource = dt
                'gvDailyWork.DataBind()
                'Dim strTest As String
                'strTest = datef.Date.ToString
                fillgrid(datef.ToString, datet.ToString, ddlPE.SelectedItem.Value.ToString)

                divMessage.InnerHtml = ""
            Else
                CreateMessageAlert(Me, "To Date should be granter than or equal to From Date.!", "strkeyval")
                Exit Sub
            End If

            gvProduct.DataSource = Nothing
            gvProduct.DataBind()

            Dim str As String
            str = ""
        Catch ex As Exception
            CreateMessageAlert(Me, "Please Select Proper Date.!", "strKeyval")

        End Try



    End Sub

    Protected Sub gvDailyWork_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvDailyWork.SelectedIndexChanged
        Dim strSupplierID As String
        strSupplierID = gvDailyWork.SelectedDataKey.Value
        fillProduct(strSupplierID)
    End Sub

    Public Sub fillProduct(ByVal strSupplierID As String)
        Try
            Dim dt As DataTable
            dt = ReturnDataTable("SELECT     Product_Master.Product_Name, convert(nvarchar,Product_RegDate,106) as Product_RegDate  ,ISNULL(Product_Master.Product_Code, N'N.A.') AS Product_Code, Product_Master.Product_ModelNo,                       CASE WHEN Product_Master.Product_Approved = 'N' THEN 'Not Approved' ELSE CASE WHEN Product_master.Product_Approved = 'C' THEN 'Not Approved'                        ELSE 'Approved' END END AS Product_Approved, Brand_Master.Brand_Name, Product_Master.Product_Kid,Product_Master.Product_RegDate AS Dt FROM         Product_Master INNER JOIN                       Brand_Master ON Product_Master.Product_BrandId = Brand_Master.Brand_Kid WHERE     (Product_Master.Product_UserId = N'" & RemoveLiterals(ddlPE.SelectedItem.Value.ToString) & "') AND (Product_Master.Product_SupplierId = N'" & RemoveLiterals(strSupplierID.ToString) & "') ORDER BY Dt Desc")

            gvProduct.DataSource = dt
            gvProduct.DataBind()
            divMessage.InnerHtml = "Total Record : <b style='color:blue'>" + dt.Rows.Count.ToString + "</b>"
        Catch ex As Exception

        End Try
    End Sub

    Protected Sub gvDailyWork_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gvDailyWork.PageIndexChanging
        gvDailyWork.PageIndex = e.NewPageIndex
        fillgrid(txtfDate.Text.ToString.Trim, txttDate.Text.ToString.Trim, ddlPE.SelectedItem.Value.ToString)
    End Sub

    Protected Sub gvProduct_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gvProduct.PageIndexChanging
        gvProduct.PageIndex = e.NewPageIndex
        fillProduct(gvDailyWork.SelectedDataKey.Value)
    End Sub

    Protected Sub ddlPE_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlPE.SelectedIndexChanged
        If ddlPE.SelectedIndex > 0 Then
            fillgrid(txtfDate.Text.ToString.Trim, txttDate.Text.ToString.Trim, ddlPE.SelectedItem.Value.ToString)
            gvProduct.DataSource = Nothing
            gvProduct.DataBind()
            divMessage.InnerHtml = ""
        Else
            gvProduct.DataSource = Nothing
            gvProduct.DataBind()
            gvDailyWork.DataSource = Nothing
            gvDailyWork.DataBind()
            divMessage.InnerHtml = ""
            divMessageSupplier.InnerHtml = ""
        End If
    End Sub

End Class
