Torna al Thread
If FileUpload1.HasFile Then
REM RICAVO IL VALORE MASSIMO DELLA COLONNA CODICE_SCHEDA DELLA TABELLA ALLOGGIATI
Try
Dim conString = ConfigurationManager.ConnectionStrings("DB_GESTIONE_ALBERGHI")
Dim strConnString As String = conString.ConnectionString
Using db As New SqlConnection(strConnString)
db.Open()
Using sqlcmd As New SqlCommand("Max_Codice_Scheda_Alloggiati", db)
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.Parameters.AddWithValue("@codalbergo", SqlDbType.Int).Value = codice_albergo
contatore_righe = Convert.ToInt32(sqlcmd.ExecuteScalar())
End Using
End Using
Catch ex As SqlException
prompt = New ImpromptuPrompt
prompt.Options.Buttons.Add("Chiudi", "ok")
prompt.Options.Top = 350
prompt.Options.PromptSpeed = "slow"
prompt.Options.Show = "show"
prompt.Message = "Attenzione: " & Chr(10) & ex.Message
ImpromptuHelper.ShowPrompt(prompt)
Return
Catch ex As Exception
prompt = New ImpromptuPrompt
prompt.Options.Buttons.Add("Chiudi", "ok")
prompt.Options.Top = 350
prompt.Options.PromptSpeed = "slow"
prompt.Options.Show = "show"
prompt.Message = "Attenzione: " & Chr(10) & ex.Message
ImpromptuHelper.ShowPrompt(prompt)
Return
End Try
REM-----------------------------------------------------------------------------------
Dim myFile As HttpPostedFile
myFile = FileUpload1.PostedFile
Try
Using sr As New StreamReader(myFile.InputStream)
Dim line As String
Do
line = sr.ReadLine()
If Not (line Is Nothing) Then
REM controllo se i record del file ascii contengono all'inzio l'apice oppure no
If line.Substring(0, 1) = "'" Then
codprov = CInt(line.Substring(1, 3))
codcom = CInt(line.Substring(4, 3))
codalb = CInt(line.Substring(7, 4))
codcat = CInt(line.Substring(11, 2))
If line.Substring(13, 10) = "0000/00/00" Then
no_data_arrivo = True
GoTo salta
Else
no_data_arrivo = False
dataArrivo = CDate(line.Substring(13, 10))
End If
salta:
REM gestisco la determinazione delle due date per caricare alla fine i dati nelle gridview
REM----------------------------------------------------------------------------------------
If line.Substring(23, 10) = "0000/00/00" Then
partito = 0
Else
dataPartenza = CDate(line.Substring(23, 10))
partito = 1
End If
codnaz = CInt(line.Substring(33, 3)) : codprovMov = CInt(line.Substring(36, 3))
If line.Substring(39, 2) = " " Then
codgruppo = 1
Else
codgruppo = CInt(line.Substring(39, 2))
End If
nschedina = line.Substring(41, 5) : camdisp = CInt(line.Substring(46, 5)) : camocc = CInt(line.Substring(51, 5))
Else
codprov = CInt(line.Substring(0, 3))
codcom = CInt(line.Substring(3, 3))
codalb = CInt(line.Substring(6, 4))
codcat = CInt(line.Substring(10, 2))
If line.Substring(12, 10) = "0000/00/00" Then
no_data_arrivo = True
GoTo _salta
Else
no_data_arrivo = False
dataArrivo = CDate(line.Substring(12, 10))
End If
_salta:
REM gestisco la determinazione delle due date per caricare alla fine i dati nelle gridview
REM----------------------------------------------------------------------------------------
If line.Substring(22, 10) = "0000/00/00" Then
partito = 0
Else
dataPartenza = CDate(line.Substring(22, 10))
partito = 1
End If
codnaz = CInt(line.Substring(32, 3)) : codprovMov = CInt(line.Substring(35, 3))
If line.Substring(38, 2) = " " Then
codgruppo = 1
Else
codgruppo = CInt(line.Substring(38, 2))
End If
nschedina = line.Substring(40, 5) : camdisp = CInt(line.Substring(45, 5)) : camocc = CInt(line.Substring(50, 5))
End If
Dim flagQuery As Boolean = False
Dim flagDisp As Int16 = 0
Dim conString = ConfigurationManager.ConnectionStrings("DB_GESTIONE_ALBERGHI")
Dim strConnString As String = conString.ConnectionString
Using db As New SqlConnection(strConnString)
db.Open()
REM se il flagquery = False eseguo una insert perchè il record non esiste altrimenti update sul record esistente
Using sqlcmd As New SqlCommand("Insert_Import_C59", db)
sqlcmd.CommandType = CommandType.StoredProcedure
contatore_righe += 1
sqlcmd.Parameters.AddWithValue("@CodiceAlbergo", SqlDbType.Int).Value = codice_albergo
sqlcmd.Parameters.AddWithValue("@CodiceScheda", SqlDbType.Int).Value = contatore_righe
If no_data_arrivo = False Then
sqlcmd.Parameters.AddWithValue("@DataArrivo", SqlDbType.Date).Value = dataArrivo
End If
If partito = 1 Then
sqlcmd.Parameters.AddWithValue("@DataPartenza", SqlDbType.Date).Value = dataPartenza
End If
sqlcmd.Parameters.AddWithValue("@CodiceNazione", SqlDbType.Int).Value = codnaz
sqlcmd.Parameters.AddWithValue("@CodiceProvinciaMov", SqlDbType.Int).Value = codprovMov
sqlcmd.Parameters.AddWithValue("@Partito", SqlDbType.Int).Value = partito
sqlcmd.Parameters.AddWithValue("@CodiceGruppo", SqlDbType.Int).Value = codgruppo
sqlcmd.Parameters.AddWithValue("@NumeroSchedina", SqlDbType.VarChar).Value = nschedina
sqlcmd.Parameters.AddWithValue("@Ncamdisponibili", SqlDbType.Int).Value = camdisp
sqlcmd.Parameters.AddWithValue("@Ncamoccupate", SqlDbType.Int).Value = camocc
sqlcmd.Parameters.AddWithValue("@NScheda", SqlDbType.VarChar).Value = nschedina
sqlcmd.CommandTimeout = 0
sqlcmd.ExecuteNonQuery()
End Using
REM INSERIMENTO DISPONIBILITA
Using sqlcmd As New SqlCommand("Insert_disponibilita", db)
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.Parameters.AddWithValue("@CodiceAlbergo", SqlDbType.Int).Value = codice_albergo
If no_data_arrivo = False Then
sqlcmd.Parameters.AddWithValue("@Data", SqlDbType.Date).Value = dataArrivo
Else
sqlcmd.Parameters.AddWithValue("@Data", SqlDbType.Date).Value = dataPartenza
End If
sqlcmd.Parameters.AddWithValue("@Ncamdisponibili", SqlDbType.Int).Value = camdisp
sqlcmd.Parameters.AddWithValue("@Ncamoccupate", SqlDbType.Int).Value = camocc
sqlcmd.ExecuteNonQuery()
End Using
End Using
End If
Loop Until line Is Nothing
End Using
Catch ex As SqlException
prompt = New ImpromptuPrompt
prompt.Options.Buttons.Add("Chiudi", "ok")
prompt.Options.Top = 350
prompt.Options.PromptSpeed = "slow"
prompt.Options.Show = "show"
prompt.Message = "Attenzione: " & Chr(10) & ex.Message
ImpromptuHelper.ShowPrompt(prompt)
Return
Catch ex As Exception
prompt = New ImpromptuPrompt
prompt.Options.Buttons.Add("Chiudi", "ok")
prompt.Options.Top = 350
prompt.Options.PromptSpeed = "slow"
prompt.Options.Show = "show"
prompt.Message = "Attenzione: " & Chr(10) & ex.Message
ImpromptuHelper.ShowPrompt(prompt)
Return
Finally
prompt = New ImpromptuPrompt
prompt.Options.Buttons.Add("Chiudi", "ok")
prompt.Options.Top = 350
prompt.Options.PromptSpeed = "slow"
prompt.Options.Show = "show"
prompt.Message = "<p>Importazione file avvenuta con successo</p>"
ImpromptuHelper.ShowPrompt(prompt)
End Try
Else
prompt = New ImpromptuPrompt
prompt.Options.Buttons.Add("Chiudi", "ok")
prompt.Options.Top = 350
prompt.Options.PromptSpeed = "slow"
prompt.Options.Show = "show"
prompt.Message = "<br>Attenzione!<br><p>Il File selezionato è vuoto</p>"
ImpromptuHelper.ShowPrompt(prompt)
End If