Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.Mail
Imports System.Math
Imports System.IO
Imports System.EnterpriseServices
Imports System.Drawing
Imports System.Web.Security
Imports System.Resources.Tools
Imports System.Configuration
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports System.Data.Sql
Imports System.Text

Partial Class Admin_AdminUser_Master
    Inherits System.Web.UI.Page
    Dim dr As SqlDataReader
    Shared Search As Boolean
    Shared g_User As String
    Shared g_Company As String
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            If Session("AdminID") Is Nothing Then
                Response.Redirect("AdminLogin.aspx?sesn=expire")
                Exit Sub
            End If
            If (Not IsPostBack) Then        'If IsPostBack is false then
                If Session("AdminID") = Nothing Then
                    Response.Redirect("AdminLogin.aspx")
                End If
                ClearFields()               'Clear the TextFields
                UnLockTextBox(False)        'Unlock (Enable) TextFields
                g_User = "000008I"
                g_Company = "00006Z4"
                g_FinYear = "000010N"
                'g_User = Session("g_User").ToString
                'g_Company = Session("g_Company").ToString
                FillGrid("")                  'Fills the DatagGrid with All Records
                FillCombo()
                Call CancelClickVisible(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
                Search = False              'Default Value for Search Mode
                Call CheckRights(Me, g_User, "Admin User Master")
                txtSupp.Visible = False
                BtnDelete.Attributes.Add("onclick", "return confirm('Are you sure you want to delete.?')")
                If Request.QueryString("ID") <> Nothing Then
                    ddlMemberName.Items.FindByValue(Request.QueryString("ID")).Selected = True
                    Call AddClick(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
                    UnLockTextBox(True)
                    Call ddlMemberName_SelectedIndexChanged(sender, e)

                End If

            End If
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")
        End Try
        lblMsg.Visible = False
    End Sub
    Protected Sub BtnAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnAdd.Click
        ClearFields()                                       'Clears the TextFields
        UnLockTextBox(True)                                 'Enable the TextFields
        Call AddClickVisible(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
        'txtUserKid.Text = NewPrimaryKey(Me)
        'txtCode.Text = Generate_Code("select count(*) from AdminUser_Master where AdminUser_Code='", "AU")
        FillCombo()
        txtSupp.Visible = False
        ddlMemberName.Visible = True
        ddlUserType.Enabled = False
        txtName.Enabled = False
    End Sub

    Protected Sub BtnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnSave.Click
        txtUserKid.Text = NewPrimaryKey(Me)
        txtCode.Text = Generate_Code("select count(*) from AdminUser_Master where AdminUser_Code='", "AU")
        If (txtPassword.Text.Length < 6) Then
            showmessage("Please Enter Password atleast 6 Character.!", lblMsg)
            Exit Sub
        End If

        UpdateData("Insert")   'Inserts the Record
        ' email()
        showmessage("User Name And Password Record Saved Successfully...", lblMsg)
        '  CreateMessageAlert(Me, "Record Saved Successfully...", "StrKeyVal")             'Display the Message
        ClearFields()                                                                   'Clear the TextFields
        UnLockTextBox(False)                                                            'Disable the TextFields
        Call SaveClickVisible(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
        txtSupp.Visible = False
        ddlMemberName.Visible = True
    End Sub
    Public Sub email()
        Dim StrMail As String = ""
        Dim objmessage As New MailMessage()
        StrMail = "<!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML//EN"">"
        StrMail = StrMail & "<html>" & "<head>" & "<meta http-equiv=""Content-Type"""
        StrMail = StrMail & "<content=""text/html""; charset=""iso-8859-1"">"
        StrMail = StrMail & "<title>Contact Us</title>" & "</head><body><P align=left>"
        StrMail = StrMail & "<table width='739' border='0' cellspacing='0' cellpadding='0' align='left' >"
        StrMail = StrMail & "<tr>" & "<td>"
        StrMail = StrMail & "<br>"
        StrMail = StrMail & "<br>"
        StrMail = StrMail & "<B>" & "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" & "New Supplier UserId And Password :-" & "</B>"
        StrMail = StrMail & "<br>"
        StrMail = StrMail & "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" & "UserID-" & "&nbsp;&nbsp;&nbsp;" & ":" & "&nbsp;&nbsp;&nbsp;&nbsp; " & txtName.Text.Trim & ""
        StrMail = StrMail & "<br>"
        StrMail = StrMail & "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" & "Password-" & "&nbsp;&nbsp;&nbsp;" & ":" & "&nbsp;&nbsp;&nbsp;&nbsp; " & txtPassword.Text.Trim & ""
        StrMail = StrMail & "<br>" & "<br>"
        StrMail = StrMail & "</td></tr></table></p></body></html>"
        objmessage.From = txtName.Text.Trim
        objmessage.Subject = "New Supplier UserID And Password"
        objmessage.Body = StrMail
        objmessage.To = "sushma@atcomaart.com"
        objmessage.Cc = "rajeshmishra@atcomaart.com;ramendra@atcomaart.com"
        objmessage.BodyFormat = MailFormat.Html
        SmtpMail.SmtpServer = "atcoex02"
        SmtpMail.Send(objmessage)
    End Sub

    Protected Sub BtnEdit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnEdit.Click
        If (txtPassword.Text.Length < 6) Then
            showmessage("Please Enter Password atleast 6 Character.!", lblMsg)
            Exit Sub
        End If

        UpdateData("Update")  'Updates the record
        CreateMessageAlert(Me, "Record Modified Successfully...", "StrKeyVal")             'Display the Message
        ClearFields()                                                                   'Clear the TextFields
        UnLockTextBox(False)                                                            'Disable the TextFields
        Call EditClickVisible(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
        txtSupp.Visible = False
        ddlMemberName.Visible = True
    End Sub

    Protected Sub BtnDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnDelete.Click
        UpdateData("Delete")  'Deletes the record                                               'Execute the Query
        CreateMessageAlert(Me, "Record Deleted Successfully...", "StrKeyVal")             'Display the Message
        ClearFields()                                                                   'Clear the TextFields
        UnLockTextBox(False)                                                            'Disable the TextFields
        Call DeleteClickVisible(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
        txtSupp.Visible = False
        ddlMemberName.Visible = True
    End Sub

    Protected Sub BtnCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        ClearFields()                                       'Clears the TextFields
        UnLockTextBox(False)                                'Disable the TextFields
        Search = False
        txtName.AutoPostBack = False
        Call FillGrid("")
        gvAdmin.SelectedIndex = -1
        Call CancelClickVisible(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
        txtSupp.Visible = False
        ddlMemberName.Visible = True

    End Sub

    Protected Sub BtnSearch_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnSearch.Click
        Search = True                                       'Set Search Mode True
        Call SearchClickVisible(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
        txtName.Enabled = True
        txtName.AutoPostBack = True
        Call txtName_TextChanged(sender, e)
        txtName.Focus()
        txtSupp.Visible = False
        ddlMemberName.Visible = True
    End Sub
    Protected Sub txtName_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        If Search = True Then                               'If Search Mode is true then
            Call FillGrid(Trim(txtName.Text))  'Fill the Grid filtering on txtStockLocationName 
        End If
        If BtnSave.Enabled Then BtnSave.Focus()
    End Sub
    Public Sub FillCombo()
        ddlMemberName.Items.Clear()
        ddlUserType.Items.Clear()
        Fill_Combo("Select Supplier_Kid,Supplier_Name from Supplier_Master where Supplier_IsDeleted='0' and Supplier_Approved='Y' and Supplier_CompanyId='" & g_Company.Trim & "' and Supplier_AdminUserId is null", ddlMemberName)
        Fill_Combo("Select UserType_Kid,UserType_Name from UserType where UserType_IsDeleted='0' and UserType_CompanyId='" & g_Company.Trim & "'", ddlUserType)
        ddlUserType.Items.FindByText("Supplier").Selected = True
    End Sub
    Protected Sub ClearFields()
        Try
            ddlMemberName.ClearSelection()
            ddlMemberName.SelectedIndex = 0
            ddlUserType.ClearSelection()
            ddlUserType.SelectedIndex = 0
            txtCode.Text = ""                           'Assign Null to the TextField
            txtConfirmPwd.Text = ""                           'Assign Null to the TextField
            txtName.Text = ""
            txtPassword.Text = ""
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub
    Protected Sub UnLockTextBox(ByVal Action As Boolean)
        Try
            ddlMemberName.Enabled = Action
            ddlUserType.Enabled = Action
            txtConfirmPwd.Enabled = Action
            txtName.Enabled = Action
            txtPassword.Enabled = Action
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub
    Protected Sub FillGrid(ByVal PTN As String)
        Try
            '  Dim str As String
            Dim dt As DataTable
            If (PTN = "") Then
                dt = ReturnDataTable("SELECT distinct Supplier_Master.Supplier_Name, UserType.UserType_Name, AdminUser.AdminUser_Kid, AdminUser.AdminUser_Password, AdminUser.AdminUser_Name FROM AdminUser Inner JOIN Supplier_Master ON AdminUser.AdminUser_Kid = Supplier_Master.Supplier_AdminUserId INNER JOIN UserType ON AdminUser.AdminUser_UserTypeId = UserType.UserType_Kid where AdminUser_Isdeleted='0' and  UserType.UserType_Name='Supplier' and Supplier_Master.Supplier_IsDeleted = N'0' order by Supplier_Name")
            Else
                dt = ReturnDataTable("SELECT distinct Supplier_Master.Supplier_Name, UserType.UserType_Name, AdminUser.AdminUser_Kid, AdminUser.AdminUser_Password, AdminUser.AdminUser_Name FROM AdminUser Inner JOIN Supplier_Master ON AdminUser.AdminUser_Kid = Supplier_Master.Supplier_AdminUserId INNER JOIN UserType ON AdminUser.AdminUser_UserTypeId = UserType.UserType_Kid where AdminUser_Isdeleted='0' and UserType.UserType_Name='Supplier' and AdminUser_Name like '" & txtName.Text & "%' and Supplier_Master.Supplier_IsDeleted = N'0' order by Supplier_Name")
            End If
            gvAdmin.DataSource = dt
            gvAdmin.DataBind()
            'Dim i As Integer
            'For i = 0 To dt.Rows.Count - 1
            '    gvAdmin.Rows(i).Cells(4).Text = Decrypt(dt.Rows(i).Item(3).ToString)
            'Next
            'Dim strQuery As String = "SELECT  AdminUser.AdminUser_Kid,AdminUser.AdminUser_Code, AdminUser.AdminUser_Name, AdminUser.AdminUser_Password, AdminUser.AdminUser_ActiveFlag, " & _
            '                         " AdminUser.AdminUser_Assigned, Supplier_Master.Supplier_Name, UserType.UserType_Name FROM AdminUser INNER JOIN " & _
            '                         " Supplier_Master ON AdminUser.AdminUser_Kid = Supplier_Master.Supplier_AdminUserID INNER JOIN UserType ON AdminUser.AdminUser_UserTypeId = UserType.UserType_Kid"
            'gvUser.DataSource = getTable(strQuery.Trim, "AdminUser")
            'gvUser.DataBind()
        Catch ex As Exception
            CreateMessageAlert(Me, ex.Message, "StrKeyVal")     'Display the Error Message
        End Try
    End Sub
    Private Sub UpdateData(ByVal strMode As String)
        Dim cipher As String
        cipher = Encrypt(txtPassword.Text)
        Dim cmd As New Data.SqlClient.SqlCommand()
        Dim sqlcoll As Data.SqlClient.SqlParameterCollection = cmd.Parameters
        sqlcoll.Clear()
        sqlcoll.Add("@AdminUser_Kid", Data.SqlDbType.NVarChar, 20).Value = txtUserKid.Text.Trim
        sqlcoll.Add("@AdminUser_Code", Data.SqlDbType.NVarChar, 20).Value = txtCode.Text.Trim
        sqlcoll.Add("@AdminUser_Name", Data.SqlDbType.NVarChar, 200).Value = txtName.Text.Trim
        sqlcoll.Add("@AdminUser_UserTypeId", Data.SqlDbType.NVarChar, 20).Value = ddlUserType.SelectedValue.Trim
        'sqlcoll.Add("@AdminUser_Password", Data.SqlDbType.NVarChar, 100).Value = txtPassword.Text.Trim
        sqlcoll.Add("@AdminUser_Password", Data.SqlDbType.NVarChar, 100).Value = cipher.ToString
        sqlcoll.Add("@AdminUser_ActiveFlag", Data.SqlDbType.NVarChar, 20).Value = "Y"
        sqlcoll.Add("@AdminUser_Assigned", Data.SqlDbType.NVarChar, 20).Value = "Y"
        sqlcoll.Add("@AdminUser_FinancialYearId", Data.SqlDbType.NVarChar, 20).Value = g_FinYear
        sqlcoll.Add("@AdminUser_CompanyID", Data.SqlDbType.NVarChar, 20).Value = g_Company
        sqlcoll.Add("@AdminUser_UserID", Data.SqlDbType.NVarChar, 20).Value = g_User
        sqlcoll.Add("@FormName", Data.SqlDbType.NVarChar, 20).Value = Me.Title.ToString
        sqlcoll.Add("@Mode", Data.SqlDbType.Char, 15).Value = strMode.Trim
        If ExecQuery("AdminUser_Proc", sqlcoll).StartsWith("True") Then
            If strMode = "Insert" Then
                ExecuteQuery("Update Supplier_Master set Supplier_AdminUserID='" & txtUserKid.Text.Trim & "' where Supplier_Kid='" & ddlMemberName.SelectedValue.Trim & "'")
            End If
            FillGrid("")
            cmd = Nothing
            sqlcoll = Nothing
        End If
    End Sub

    Protected Sub ddlMemberName_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlMemberName.SelectedIndexChanged
        Try
            txtName.Text = ""
            Dim con As New SqlConnection
            con.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
            Dim Str As String = "select SupplierContactPerson_EmailId from SupplierContactPerson_Master where SupplierContactPerson_IsDeleted='0' and SupplierContactPerson_SupplierId='" & RemoveLiterals(ddlMemberName.SelectedItem.Value) & "' and SupplierContactPerson_CompanyId='" & g_Company.Trim & "'"
            Dim cmd As New SqlCommand(Str, con)
            con.Open()
            dr = cmd.ExecuteReader()
            While dr.Read
                txtName.Text = dr(0)
            End While
            con.Close()
            ddlUserType.Items.FindByText("Supplier").Selected = True
            ddlUserType.Enabled = False
        Catch ex As Exception
            ex.Message.ToString()
        End Try
    End Sub

    Protected Sub gvAdmin_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvAdmin.SelectedIndexChanged

        txtUserKid.Text = gvAdmin.SelectedDataKey.Value

        txtCode.Text = ReturnValue("Select AdminUser_Code From AdminUser where AdminUser_Kid ='" & gvAdmin.SelectedDataKey.Value & "'")

        ddlMemberName.Visible = False
        txtSupp.Visible = True
        txtSupp.Text = gvAdmin.SelectedRow.Cells(1).Text
        ddlUserType.ClearSelection()
        ddlUserType.Items.FindByText(gvAdmin.SelectedRow.Cells(2).Text).Selected = True
        txtName.Text = gvAdmin.SelectedRow.Cells(3).Text
        UnLockTextBox(True)                                             'Enable the TextFields
        Call GridClickVisible(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
        Search = False
        ddlUserType.Enabled = False
        txtName.Enabled = False
    End Sub

    Protected Sub gvAdmin_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gvAdmin.PageIndexChanging
        gvAdmin.PageIndex = e.NewPageIndex
        FillGrid("")
        gvAdmin.SelectedIndex = -1
        ClearFields()
        txtSupp.Text = ""
        Call CancelClickVisible(Me, BtnAdd, BtnSave, BtnEdit, BtnDelete, BtnCancel, BtnSearch)
    End Sub
End Class
