﻿Imports System.Web.Configuration
Imports Superbowl.sqlDB

Partial Class ACCustomerDetails
  Inherits System.Web.UI.Page

  Public Shared ACStoreID As Integer = 0
   Private db As New sqlDB
  Private ds As DataSet
  Private dr, drIni As DataRow

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    If Not Page.IsPostBack Then
      WebConfigurationManager.AppSettings("strPage") = "ACStoreDetails"
      If WebConfigurationManager.AppSettings("ULEVEL") <> 5 Then
        btnSave.Enabled = False
      End If
      Try
        ACStoreID = Request.QueryString("ACSID")
      Catch ex As Exception
        ACStoreID = 0
      End Try

      If ACStoreID > 0 Then
        Try
          drIni = sqlDB.GetRow("SELECT * FROM mapACStore WHERE refACStoreID = " & ACStoreID)
          ddlACStore.SelectedValue = ACStoreID

          ddlRGBCCustomer.SelectedValue = Nz(drIni!refCustomerNo, "0")
          txtCustomerNo.Text = Nz(drIni!refCustomerNo, "")

          setListBox("rgbc", Nz(drIni!refCustomerNo, "0"))
          setListBox("ac", Nz(drIni!refACStoreID, 0))

        Catch ex As IndexOutOfRangeException                'dr = ds.tables(0).rows(0) doesn't exist
          lblMessage.Text = "ACStore ID, <font color=black>" & ACStoreID & "</font>, was not found!"
          drIni = Nothing
        End Try
      Else

      End If
    End If
  End Sub

  Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click
    lblMessage.Text = ""

    'If txtACStoreID.Text.Trim() = "" Then lblMessage.Text &= "ACStore ID required.<BR>"
    If txtCustomerNo.Text.Trim() = "" Then lblMessage.Text &= "RGBC Customer number required.<BR>"
    If ddlACStore.SelectedIndex < 1 Then lblMessage.Text &= "AdCheck Store required.<BR>"

    If sqlDB.CountRows("SELECT * FROM mapACStore WHERE refACStoreID = " & ddlACStore.SelectedValue & " AND refCustomerNo = '" & txtCustomerNo.Text.Trim & "' AND refACStoreID <> " & ACStoreID) > 0 Then lblMessage.Text &= "ACStore """ & ACStoreID & """ already exists!"

    If Not lblMessage.Text.Length > 0 Then

      If ACStoreID <> 0 Then
        sqlDB.doQueryDS("UPDATE mapACStore SET refACStoreID = " & ddlACStore.SelectedValue & ", refCustomerNo = '" & db.CleanString(txtCustomerNo.Text.Trim) & "' WHERE refACStoreID = " & ACStoreID)
        'Else
        'sqlDB.doQueryDS(db.sql_insert_ACStore(txtACStoreID.Text.Trim(), strACStoreName.Text.Trim, strMarket.Text.Trim, ddlBranch.SelectedValue, ddlSegment.SelectedValue, strACStoreEmail.Text.Trim, strRegionalManager.Text.Trim, strSalesManager.Text.Trim, strSalesManagerEmail.Text.Trim, CInt(chkACStore.Checked), CInt(chkGenerateQF.Checked)))
      End If

      Response.Redirect("ACCustomerList.aspx")
    End If

  End Sub

  Protected Sub btnClose_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnClose.Click
    Response.Redirect("ACCustomerList.aspx")
  End Sub

  Protected Sub txtCustomerNo_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles txtCustomerNo.TextChanged
    setListBox("rgbc", db.CleanString(txtCustomerNo.Text.Trim))
  End Sub

  Protected Sub ddlRGBCCustomer_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ddlRGBCCustomer.SelectedIndexChanged
    If ddlRGBCCustomer.SelectedIndex > 0 Then
      txtCustomerNo.Text = ddlRGBCCustomer.SelectedValue
      setListBox("rgbc", ddlRGBCCustomer.SelectedValue)
    Else
      txtCustomerNo.Text = ddlRGBCCustomer.SelectedValue
      setListBox("rgbc", "")
    End If
  End Sub

  Protected Sub ddlACStore_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ddlACStore.SelectedIndexChanged
    If ddlACStore.SelectedIndex > 0 Then
      setListBox("ac", ddlACStore.SelectedValue)
    Else
      setListBox("ac", 0)
    End If
  End Sub

  Private Sub setListBox(ByVal strObj As String, ByVal ID As Object)
    Dim obj As ListBox
    Dim sql As String
    Select Case strObj
      Case "rgbc"
        obj = lbRGBC
        sql = "SELECT strCustomerNo, LTRIM(REPLACE(strCustomerName, strCustomerNo + ' ', '')) + ' - ' + strCustomerNo AS strCustomer, mstKeyAccount.strKeyAccount, mstBranch.strBranch + ' - ' + strRegion + ' - ' + mstBranch.strRegionDesc2 AS strRegion FROM mstKeyAccount RIGHT OUTER JOIN mstKeyAccount_Group ON mstKeyAccount.KeyAccountID = mstKeyAccount_Group.refKeyAccountID RIGHT OUTER JOIN mstCustomer ON mstKeyAccount_Group.KeyAccount_GroupID = mstCustomer.refKeyAccount_GroupID LEFT OUTER JOIN mstBranch ON mstCustomer.refBranchID = mstBranch.BranchID WHERE strCustomerNo = '" & ID & "'"
      Case "ac"
        obj = lbAC
        sql = "SELECT TOP 1 ACStoreID, strStore, strChain, strProvince FROM dwfACLisp WHERE ACStoreID = " & ID
    End Select

    obj.Items.Clear()

    ds = db.doQueryDS(sql)
    If ds.Tables(0).Rows.Count > 0 Then
      dr = ds.Tables(0).Rows(0)
      For i As Integer = 0 To ds.Tables(0).Columns.Count - 1
        obj.Items.Add(dr.Item(i).ToString)
      Next

    End If
  End Sub

End Class