﻿Imports Microsoft.VisualBasic
Imports System
Imports System.Data
Imports System.Collections.Generic
Imports System.Web.UI
Imports System.Linq
Imports DevExpress.Web
Imports DevExpress.Web.Data

Public Class ClientiAziende
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        '********************************************************
        '--- Controllo Autenticazione per accesso alla pagina ---
        If Not Session("Autenticato") Then
            Response.Redirect("LoginUser.aspx")
        End If
        '********************************************************

        '--- imposta la connessione al database sui datasource
        dsAziende.ConnectionString = Session("sConnectionString")
        dsClienti.ConnectionString = Session("sConnectionString")
        dsClientiAziende.ConnectionString = Session("sConnectionString")
        dsListini.ConnectionString = Session("sConnectionString")
        dsPagamenti.ConnectionString = Session("sConnectionString")

        '--- considera il filtro sull'IDCliente, se è stato passato...
        If Val(Session("sIDCliente")) > 0 Then
            FiltraDataSource_ClientiAziende(Session("sIDCliente"))
        End If

        titoloLabel.Text = "Scheda Generale Clienti-Aziende"

    End Sub
    Sub FiltraDataSource_ClientiAziende(pIDCliente)

        '--- filtra i dati in base al parametro, SE IL PARAMETRO > 0 ---
        Dim sqlCmd = "SELECT * from ClientiAziende"

        If Val(pIDCliente) > 0 Then
            sqlCmd += " WHERE IDCliente = " & pIDCliente
        End If

        dsClientiAziende.SelectCommand = sqlCmd
        dsClientiAziende.DataBind()
        ASPxGridView1.DataBind()

        '--- Aggiorna il Titolo...
        If Val(pIDCliente) > 0 Then
            titoloLabel.Text = "Scheda Aziende del Cliente " & Session("sDescrizioneCliente").ToString.Trim
        Else
            titoloLabel.Text = "Scheda Generale Clienti-Aziende"
        End If

    End Sub

    Private Sub ASPxGridView1_InitNewRow(sender As Object, e As ASPxDataInitNewRowEventArgs) Handles ASPxGridView1.InitNewRow

        '--- se è stato passato l'IDCliente da un'altra pagina, propone quello in inserimento nuova riga
        If Val(Session("sIDCliente")) > 0 Then
            Dim xIDCliente As Integer = Val(Session("sIDCliente"))
            e.NewValues("IDCliente") = xIDCliente
        End If

    End Sub

    Private Sub ASPxGridView1_RowInserting(sender As Object, e As ASPxDataInsertingEventArgs) Handles ASPxGridView1.RowInserting

        '----------------------------------------------------------------
        '--- aggiorna i dati in fase di inserimento di una nuova riga ---
        '----------------------------------------------------------------
        Dim xDateTime = DateTime.Now
        e.NewValues("Ins_DataOra") = xDateTime
        e.NewValues("Upd_DataOra") = xDateTime
        e.NewValues("Ins_Utente") = Session("sUtente_UserName")       '--- mettere la variabile di sessione
        e.NewValues("Upd_Utente") = Session("sUtente_UserName")        '--- mettere la variabile di sessione
        e.NewValues("LivelloAutorizzazione") = Session("sUtente_Livello")    '--- mettere la variabile di sessione

    End Sub

    Private Sub ASPxGridView1_RowUpdating(sender As Object, e As ASPxDataUpdatingEventArgs) Handles ASPxGridView1.RowUpdating

        '-------------------------------------------------------
        '--- aggiorna i dati in fase di modifica di una riga ---
        '-------------------------------------------------------
        Dim xDateTime = DateTime.Now
        e.NewValues("Upd_DataOra") = xDateTime
        e.NewValues("Upd_Utente") = Session("sUtente_UserName")        '--- mettere la variabile di sessione
        e.NewValues("LivelloAutorizzazione") = Session("sUtente_Livello")    '--- mettere la variabile di sessione

    End Sub

    Protected Sub RefreshButton_Click(sender As Object, e As EventArgs) Handles RefreshButton.Click

        '--- azzera la variabile di sessione per non filtrare più i dati
        Session("sIDCliente") = ""
        Session("sDescrizioneCliente") = ""
        FiltraDataSource_ClientiAziende("")

    End Sub

    Private Sub ASPxGridView1_SelectionChanged(sender As Object, e As EventArgs) Handles ASPxGridView1.SelectionChanged


    End Sub

    Protected Sub NuovoButton_Click(sender As Object, e As EventArgs) Handles NuovoButton.Click

        Session("sIDClientiAziende") = 0
        Response.Redirect("ClientiAziendeEdit.aspx")

    End Sub

    Protected Sub ModificaButton_Click(sender As Object, e As EventArgs) Handles ModificaButton.Click

        Session("sIDClientiAziende") = 0

        '--- Prende il l'ID del cliente dalla RIGA SELEZIONATA ----------------------------
        For i = 0 To ASPxGridView1.VisibleRowCount - 1
            If (ASPxGridView1.Selection.IsRowSelected(i)) Then
                Session("sIDClientiAziende") = ASPxGridView1.GetRowValues(i, "IDClientiAziende")
            End If
        Next

        If Val(Session("sIDClientiAziende")) > 0 Then
            Response.Redirect("ClientiAziendeEdit.aspx")
        End If

    End Sub
End Class