﻿Imports System.Web.Configuration
Imports Superbowl.sqlDB

Partial Public Class CompanyDetails
  Inherits System.Web.UI.Page

  Public Shared CompanyID As Integer = 0
  Public Shared dwCompany 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") = "CompanyDetails"
      If WebConfigurationManager.AppSettings("ULEVEL") <> 5 Then
        btnSave.Enabled = False
      End If
      Try
        CompanyID = Request.QueryString("CID")
      Catch ex As Exception
        CompanyID = 0
      End Try

      If CompanyID <> 0 Then
        Try
          drIni = sqlDB.GetRow(db.sql_get_Company(CompanyID))

          dwCompany = drIni!strCompany                                'get ori CompanyName for dw
          strCompany.Text = drIni!strCompany

          txtFYStart.Text = drIni!strFYStart
          txtFYEnd.Text = drIni!strFYEnd

          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 = "Company ID, <font color=black>" & CompanyID & "</font>, was not found!"
          drIni = Nothing
        End Try
      Else
        dwCompany = ""
      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 strCompany.Text.Trim() = "" Then lblMessage.Text &= "Company name required.<BR>"
    If txtFYStart.Text.Trim() = "" Then lblMessage.Text &= "Fin Year Start required.<BR>"
    If txtFYEnd.Text.Trim() = "" Then lblMessage.Text &= "Fin Year End required.<BR>"

    If txtFYStart.Text.Trim.Length < 2 Then txtFYStart.Text = "0" & txtFYStart.Text.Trim
    If txtFYEnd.Text.Trim.Length < 2 Then txtFYStart.Text = "0" & txtFYEnd.Text.Trim

    If sqlDB.CountRows(db.sql_get_Company(strCompany.Text.Trim, CompanyID)) > 0 Then lblMessage.Text &= "Company """ & strCompany.Text.Trim & """ already exists!"

    If Not lblMessage.Text.Length > 0 Then

      If CompanyID <> 0 Then
            sqlDB.doQueryDS(db.sql_update_Company(CompanyID, strCompany.Text.Trim, txtFYStart.Text.Trim, txtFYEnd.Text.Trim, Session.Item("User")))
        '2-Update into DW
        sqlDB.doQueryDS(db.sql_update_Company_dw(dwCompany, strCompany.Text.Trim))

      Else
            sqlDB.doQueryDS(db.sql_insert_Company(strCompany.Text.Trim, txtFYStart.Text.Trim, txtFYEnd.Text.Trim, Session.Item("User")))
      End If

      Response.Redirect("CompanyList.aspx")
    End If

  End Sub

  Protected Sub btnClose_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnClose.Click
    Response.Redirect("CompanyList.aspx")
  End Sub

End Class