﻿Imports System.Web.Configuration
Imports Superbowl.sqlDB

Partial Public Class SnellAreaDetails
  Inherits System.Web.UI.Page

  Public Shared SnellAreaCode As String = ""
  Public Shared dwSnellArea As String = ""
  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") = "SnellAreaDetails"
      If WebConfigurationManager.AppSettings("ULEVEL") <> 5 Then
        btnSave.Enabled = False
      End If
      Try
        SnellAreaCode = Request.QueryString("SA")
      Catch ex As Exception
        SnellAreaCode = ""
      End Try

      If SnellAreaCode <> "" Then
        Try
          txtSnellAreaCode.Text = SnellAreaCode
          txtSnellAreaCode.ReadOnly = True
          drIni = sqlDB.GetRow(db.sql_get_SnellArea(SnellAreaCode))                             'get ori SnellAreaName for dw

          dwSnellArea = SnellAreaCode 'must set after the get()
          strSnellAreaName.Text = drIni!SnellAreaCode
          strRegion.Text = drIni!strRegion
          strBranch.Text = drIni!strBranch

          lblLastEdit.Text = Nz(drIni!strLastUser, "unknown") & " - " & SqlDate(Nz(drIni!dtStamp, ""), "d MMMM yyyy HH:mm")

        Catch ex As IndexOutOfRangeException                'dr = ds.tables(0).rows(0) doesn't exist
          lblMessage.Text = "Snell Area Code, <font color=black>" & SnellAreaCode & "</font>, was not found!"
          drIni = Nothing
        Catch
          drIni = Nothing
        End Try
      Else
        dwSnellArea = ""
        txtSnellAreaCode.ReadOnly = False
      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 strSnellAreaName.Text.Trim() = "" Then lblMessage.Text &= "Snell Area name required.<BR>"

    If sqlDB.CountRows(db.sql_get_SnellArea(strSnellAreaName.Text.Trim, SnellAreaCode)) > 0 Then lblMessage.Text &= "SnellArea """ & txtSnellAreaCode.Text.Trim & """ already exists!"

    If Not lblMessage.Text.Length > 0 Then

      If dwSnellArea <> "" Then 'note: dwSnellArea becuase the snellareacode could always be available
            sqlDB.doQueryDS(db.sql_update_SnellArea(SnellAreaCode, strSnellAreaName.Text.Trim, strRegion.Text.Trim, strBranch.Text.Trim, Session.Item("User")))
      Else
            sqlDB.doQueryDS(db.sql_insert_SnellArea(txtSnellAreaCode.Text.Trim, strSnellAreaName.Text.Trim, strRegion.Text.Trim, strBranch.Text.Trim, Session.Item("User")))
      End If

      '2-Update into DW	
      'sqlDB.doQueryDS(db.sql_update_SnellArea_dw(dwSnellArea, txtSnellAreaCode.Text.Trim))

      Response.Redirect("SnellAreaList.aspx")
    End If

  End Sub

  Protected Sub btnClose_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnClose.Click
    Response.Redirect("SnellAreaList.aspx")
  End Sub

  Protected Sub txtSnellAreaCode_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles txtSnellAreaCode.TextChanged
    'load rep
    If db.CountRows("SELECT * FROM mstSnellArea WHERE SnellAreaCode = '" & sqlDB.CleanString(txtSnellAreaCode.Text.Trim) & "' ") > 0 Then
      Response.Redirect("SnellAreaDetails.aspx?SA=" & sqlDB.CleanString(txtSnellAreaCode.Text.Trim))
    Else
      strSnellAreaName.Focus()
    End If
  End Sub

End Class