﻿Partial Public Class ProductArchiveDetails
   Inherits System.Web.UI.Page

   Private Shared strGVFilter As String = ""
   Private Shared strProdCodeOld As String
   Private Shared strProdCodeNew As String

   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
      If Not Page.IsPostBack Then
         LoadNextPA()
      End If
   End Sub

   Private Sub LoadNextPA()
      Dim sql As String
      Dim ds As DataSet

      sdsProduct.FilterExpression = "1=2"
      sql = "SELECT MAX(substring(strProdCode,1,5)) as strProdCode FROM mstProduct WHERE strProdCode >= '90001' AND strProdCode LIKE '9%'"
      ds = sqlDB.doQueryDS(sql)
      If ds.Tables(0).Rows.Count > 0 Then
         If IsDBNull(ds.Tables(0).Rows(0)!strProdCode) Then
            lblNextProductCode.Text = "90001"
         Else
            lblNextProductCode.Text = ds.Tables(0).Rows(0)!strProdCode + 1
         End If
      End If
      strProdCodeNew = lblNextProductCode.Text

      txtProductCode.Text = ""
      btnSearch_Click(sender:=New Object, e:=New EventArgs)

   End Sub

   Protected Sub btnSearch_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSearch.Click
      sdsProduct.FilterExpression = "1=1 AND substring(strProdCode,1,5) LIKE '" & txtProductCode.Text & "'"
      strGVFilter = sdsProduct.FilterExpression
      strProdCodeOld = txtProductCode.Text
   End Sub

   'v1.4.3 - 20131105 - Changed Product Archive to send job to the CronJob - Christiaan
   Protected Sub btnArchive_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnArchive.Click
      Dim sql As String
      Dim ds As DataSet
      'sql = "SELECT MAX(substring(strProdCode,1,5)) as strProdCode FROM mstProduct WHERE strProdCode >= '90001' AND strProdCode LIKE '9%'"
      'ds = sqlDB.doQueryDS(sql)
      'If ds.Tables(0).Rows.Count > 0 Then
      '   If IsDBNull(ds.Tables(0).Rows(0)!strProdCode) Then
      '      intNewID = "90001"
      '   Else
      '      intNewID = CStr(CInt(ds.Tables(0).Rows(0)!strProdCode) + 1)
      '   End If
      'End If

      strProdCodeNew = lblNextProductCode.Text
      If strProdCodeNew = "" Then Throw New Exception("Invalid Archive Code @ 1.4.3")
      strProdCodeOld = txtProductCode.Text


      sql = "UPDATE mstProduct SET strProdCode = '" & strProdCodeNew & "F', strProdCodeArchive = '" & strProdCodeOld & "F', blnActive = 0 WHERE strProdCode LIKE '" & strProdCodeOld & "F'"
      sqlDB.doQueryDS(sql)
      sql = "UPDATE mstProduct SET strProdCode = '" & strProdCodeNew & "S', strProdCodeArchive = '" & strProdCodeOld & "S', blnActive = 0 WHERE strProdCode LIKE '" & strProdCodeOld & "S'"
      sqlDB.doQueryDS(sql)
      sql = "UPDATE dwdProduct SET strProdCode = '" & strProdCodeNew & "F', strProdCodeArchive = '" & strProdCodeOld & "F', blnActive = 0 WHERE strProdCode LIKE '" & strProdCodeOld & "F'"
      sqlDB.doQueryDS(sql)
      sql = "UPDATE dwdProduct SET strProdCode = '" & strProdCodeNew & "S', strProdCodeArchive = '" & strProdCodeOld & "S', blnActive = 0 WHERE strProdCode LIKE '" & strProdCodeOld & "S'"
      sqlDB.doQueryDS(sql)

      'MOVED TO SUPERBOWL CRONJOB
      ''update Sales
      'sql = "UPDATE dwfSales SET refProdCode = '" & strProdCodeNew & "F' WHERE refProdCode LIKE '" & strProdCodeOld & "F'"
      'db.doQuery(sql)
      'sql = "UPDATE dwfSales SET refProdCode = '" & strProdCodeNew & "S' WHERE refProdCode LIKE '" & strProdCodeOld & "S'"
      'db.doQuery(sql)

      ''update QF
      'sql = "UPDATE dwfQF SET strProdCode = '" & strProdCodeNew & "F' WHERE strProdCode LIKE '" & strProdCodeOld & "F'"
      'db.doQuery(sql)
      'sql = "UPDATE dwfQF SET strProdCode = '" & strProdCodeNew & "S' WHERE strProdCode LIKE '" & strProdCodeOld & "S'"
      'db.doQuery(sql)

      ''update OffconSurveys
      'sql = "UPDATE dwfOffconSurvey SET strProdCode = '" & strProdCodeNew & "F' WHERE strProdCode LIKE '" & strProdCodeOld & "F'"
      'db.doQuery(sql)
      'sql = "UPDATE dwfOffconSurvey SET strProdCode = '" & strProdCodeNew & "S' WHERE strProdCode LIKE '" & strProdCodeOld & "S'"
      'db.doQuery(sql)

      ''update Stock
      'sql = "UPDATE dwfStock SET strProdCode = '" & strProdCodeNew & "F' WHERE strProdCode LIKE '" & strProdCodeOld & "F'"
      'db.doQuery(sql)
      'sql = "UPDATE dwfStock SET strProdCode = '" & strProdCodeNew & "S' WHERE strProdCode LIKE '" & strProdCodeOld & "S'"
      'db.doQuery(sql)

      ''update ACP??
      'sql = "UPDATE mapACProduct SET refProdCode = '" & strProdCodeNew & "F' WHERE refProdCode LIKE '" & strProdCodeOld & "F'"
      'db.doQuery(sql)
      'sql = "UPDATE mapACProduct SET refProdCode = '" & strProdCodeNew & "S' WHERE refProdCode LIKE '" & strProdCodeOld & "S'"
      'db.doQuery(sql)

      ''Update Exports
      'sql = "UPDATE mstExports SET mstProdCode = '" & strProdCodeNew & "F' WHERE mstProdCode LIKE '" & strProdCodeOld & "F'"
      'db.doQuery(sql)
      'sql = "UPDATE mstExports SET mstProdCode = '" & strProdCodeNew & "S' WHERE mstProdCode LIKE '" & strProdCodeOld & "S'"
      'db.doQuery(sql)

      ''update SC
      'sql = "UPDATE stkProductPeriod SET mstProdCode = '" & strProdCodeNew & "' WHERE mstProdCode LIKE '" & strProdCodeOld & "'"
      'db.doQuery(sql)
      sql = "INSERT INTO  sysCronJob (dtCronJob, Type, param, Status) VALUES ('" & Date.Now.ToString("yyyyMMddHHmm") & "', 'ArchiveProduct', 'strProdCodeNew=" & strProdCodeNew & "|strProdCodeOld=" & strProdCodeOld & "', 'New')"

      sqlDB.doQueryDS(sql)

      If txtProductCode.Text.Length > 0 Then
         lblMessage.Text = "New Product Archive Job added to the job queue [" & strProdCodeOld & " archived to " & strProdCodeNew & "]"
      End If

      LoadNextPA()

      'txtProductCode.Text = ""
      'sdsProduct.FilterExpression = "1=1"
      'sdsProduct.FilterExpression &= " AND substring(strProdCode,1,5) LIKE '" & txtProductCode.Text & "'"
      'strGVFilter = sdsProduct.FilterExpression

   End Sub

   Protected Sub btnBack_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnBack.Click
      Response.Redirect("ProductArchiveList.aspx?")
   End Sub
End Class