Imports Telerik.WebControls

Partial Class includes_upload_logo
    Inherits System.Web.UI.Page
    Private _webWS As New WebWS
    Private _user As MembershipUser
    Private _userProfile As ProfileCommon
    Private _commonFunctions As CommonFunctions = New CommonFunctions()

    Public _selectedLanguage As String = ""

    Protected Overrides Sub InitializeCulture()

        If Request.QueryString("lang") IsNot Nothing Then
            _selectedLanguage = Request.QueryString("lang").ToString
        Else
            If Session("lang") IsNot Nothing Then
                _selectedLanguage = Session("lang").ToString
            Else
                If Request.Cookies("lang") IsNot Nothing Then
                    _selectedLanguage = Request.Cookies("lang").Value.ToString
                End If
            End If
        End If

        Session("lang") = _selectedLanguage

        If String.IsNullOrEmpty(_selectedLanguage) = False Then
            Me.UICulture = _selectedLanguage
            Me.Culture = Global.Resources.Resource.ResourceManager.GetString(_selectedLanguage)

            System.Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo(_selectedLanguage)
            System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(Global.Resources.Resource.ResourceManager.GetString(_selectedLanguage))
        End If

        MyBase.InitializeCulture()
    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        ' Now Head Office user can not upload image as a Company Logo
        ' The following condition added for future using

        If Session("EditUserFromAdmin") = True Then
            'Dim _guid = New Guid(Request.QueryString("uid"))
            '_user = Membership.GetUser(_guid)
        ElseIf Session("FromWizard") = True Then
            _user = Session("UserFromWizard")
        Else
            _user = Membership.GetUser()
        End If

        _userProfile = Profile.GetProfile(_user.UserName)

    End Sub


    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim _directory = ConfigurationManager.AppSettings("PrintItStoreDataPath") & "\" & _userProfile.StoreId

        'commented now, just for testing purposes
        'Dim _directory = "c:\temp\" & _userProfile.StoreId

        ' Create directory IF doesn't exist.
        If System.IO.Directory.Exists(_directory) = False Then
            Try
                System.IO.Directory.CreateDirectory(_directory)
            Catch ex As Exception
            End Try
        End If

        'Dim logFile As System.IO.StreamWriter = System.IO.File.CreateText(_directory & "\" & "debug.txt")

        'logFile.WriteLine("[Directory] =  " & _directory)
        ' Remove all existing OLD logo files.
        Try
            Dim _logoFile As String
            For Each _logoFile In System.IO.Directory.GetFiles(_directory)
                If (_logoFile.StartsWith(_directory & "\logo")) Then
                    'logFile.WriteLine("[Removing] " & _logoFile)
                    Try
                        System.IO.File.Delete(_logoFile)
                    Catch ex As Exception
                    End Try
                End If
            Next _logoFile
        Catch ex As Exception
            'logFile.WriteLine("[EXCEPTION] " & ex.Message)
        Finally
            'logFile.Close()
            'logFile.Dispose()
        End Try

        ' Start the upload process.
        Dim _file As UploadedFile
        If RadUpload1.UploadedFiles.Count > 0 Then

            _file = RadUpload1.UploadedFiles.Item(0)

            Dim _filename = "logo." & _commonFunctions.GetDocumentName(_file.GetName, True, "\\").ToString().Split(".")(1)

            '_file.SaveAs(_directory & "\" & _file.GetName, True)

            If System.IO.Directory.Exists(_directory) = True Then
                Try
                    _file.SaveAs(_directory & "\" & _filename, True)
                    RadUpload1.UploadedFiles.Clear()

                    Dim _imageUrl = Request.Url.ToString().Split("//")(0) & "/" & _
                                    Request.Url.ToString().Split("//")(1) & "/" & _
                                    (Request.Url.ToString().Split("//")(2).ToString()).Split(":")(0) & "/" & _
                                    ConfigurationManager.AppSettings("PrintItStoreDataVirtualDirectory") & "/" & _
                                    _userProfile.StoreId & "/" & _
                                    _filename

                    Session("CompanyLogoTemp") = _imageUrl

                    _file = Nothing
                    ' Now Head Office user can not upload image as a Company Logo
                    ' The following condition added for future using
                Catch ex As Exception
                    Session.Remove("CompanyLogoTemp")
                End Try
            Else
                Session.Remove("CompanyLogoTemp")
            End If

            If Session("EditUserFromAdmin") = True Then
                'label1.InnerHtml = "<script type='text/javascript'>window.onload = OK_Clicked('../admin/edit_user.aspx?UploadMode=1')</script>"
            ElseIf Session("FromWizard") = True Then
                label1.InnerHtml = "<script type='text/javascript'>self.close()</script>"
                'Session("UploadMode") = 1
            Else
                label1.InnerHtml = "<script type='text/javascript'>window.onload = OK_Clicked('../settings/print_driver_interface.aspx?UploadMode=1')</script>"
            End If
        Else
            Session.Remove("CompanyLogoTemp")

        End If

    End Sub

End Class
