﻿Imports System
Imports System.Data
Imports System.Data.SqlClient
Partial Class MentorDailyWorkReport
    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
            fillMentor()
            'fillgrid("", "")
        End If
    End Sub

    Public Sub fillgrid(ByVal fdate As String, ByVal tdate As String, ByVal PEID As String)
        Dim dt As New DataTable
        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()


    End Sub
    Protected Sub fillMentor()
        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")
            ddlMentor.DataSource = dt
            ddlMentor.DataTextField = "AdminUser_Name"
            ddlMentor.DataValueField = "AdminUser_Kid"
            ddlMentor.DataBind()
            ddlMentor.Items.Insert(0, New ListItem("Select", "0"))
        Catch ex As Exception
        End Try
    End Sub
    Protected Sub fillPE(ByVal MentorID As String)
        Try
            Dim dt As DataTable
            dt = ReturnDataTable("SELECT AdminUser_Kid, AdminUser_Name FROM AdminUser WHERE (AdminUser_IsDeleted = N'0') AND (AdminUser_ReportingTo = N'" + MentorID.ToString + "') Order By AdminUser_Name")
            ddlPE.Items.Clear()
            If dt.Rows.Count > 0 Then
                ddlPE.DataSource = dt
                ddlPE.DataTextField = "AdminUser_Name"
                ddlPE.DataValueField = "AdminUser_Kid"
                ddlPE.DataBind()
                ddlPE.Items.Insert(0, New ListItem("Select", "0"))
            Else
                ddlPE.Items.Insert(0, New ListItem("Select", "0"))
            End If
        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)


            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)

        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 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 Product_Master.Product_RegDate Desc")

        gvProduct.DataSource = dt
        gvProduct.DataBind()

    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()
        Else
            gvProduct.DataSource = Nothing
            gvProduct.DataBind()
            gvDailyWork.DataSource = Nothing
            gvDailyWork.DataBind()
        End If
    End Sub

    Protected Sub ddlMentor_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlMentor.SelectedIndexChanged
        Try
            fillPE(ddlMentor.SelectedValue.ToString)
        Catch ex As Exception

        End Try
    End Sub
End Class
