I have RADUpload component on a page that allows for uploads of files to the server and inserting of records onto a database after the upload is complete.
Here’s the scenario, a file is uploaded via the RADUpload component. After a successful upload, a table in the database called FILES is populated with data about the uploaded file (ie file name, size, mime type, etc). After data is inserted into the FILES table via stored procedure, the primary key of that recently inserted record is returned to my application via a Scope Identity request. I will call this primary key IDFILES.
After the IDFILES primary is returned to my application, I then grab that data, and perform another insert—this time to a different table called PLANSETS.
All the above is done automatically for every uploaded file.
All the above functions with no problems—unless you are uploading multiple files using that one RADUPLOAD component. However, if you upload more than one file, only the last uploaded file returns the IDFILES data.
Is there a workaround in RADupload that allows me to be able to see that IDFILES even if multiple files are being uploaded?
My code is below:
If ruShell.UploadedFiles.Count > 0 Then
For Each validFile As UploadedFile In ruShell.UploadedFiles
Dim targetFolder As String = Server.MapPath("/Plansets/" & rcbStreets.SelectedValue & "/" & rcbAddresses.SelectedValue & "/1")
'Dim targetFolder As String = "~/Plansets/" & rcbStreets.SelectedValue & "/" & rcbAddresses.SelectedValue & "/1"
validFile.SaveAs(Path.Combine(targetFolder, validFile.GetName()), True)
sqlPlansetFiles.InsertParameters("description").DefaultValue = validFile.GetNameWithoutExtension
sqlPlansetFiles.InsertParameters("contenttype").DefaultValue = validFile.ContentType
sqlPlansetFiles.InsertParameters("size").DefaultValue = validFile.ContentLength
sqlPlansetFiles.InsertParameters("extension").DefaultValue = validFile.GetExtension
sqlPlansetFiles.InsertParameters("filename").DefaultValue = validFile.GetName
sqlPlansetFiles.InsertParameters("path").DefaultValue = "~\Plansets\" & rcbStreets.SelectedValue & "\" & rcbAddresses.SelectedValue & "\1\" & validFile.GetName
sqlPlansetFiles.Insert()
'Label1.Text = sqlPlansetFiles.InsertParameters("newIDPlansetFiles").DefaultValue.ToString
sqlPlansets.InsertParameters("idaddresses").DefaultValue = rcbAddresses.SelectedValue
sqlPlansets.InsertParameters("idPlansetTypes").DefaultValue = "1"
sqlPlansets.InsertParameters("idplansetcategory").DefaultValue = "1"
sqlPlansets.InsertParameters("isdeleted").DefaultValue = "0"
sqlPlansets.InsertParameters("idplansetfiles").DefaultValue = idPlansetFiles
sqlPlansets.InsertParameters("modifieddate").DefaultValue = Now
sqlPlansets.Insert()
Next
'labelNoResults.Visible = False
'repeaterValidResults.Visible = True
'repeaterValidResults.DataSource = RadUpload1.UploadedFiles
'repeaterValidResults.DataBind()
Else
'labelNoResults.Visible = True
'repeaterValidResults.Visible = False
End If
Private Sub sqlPlansetFiles_Inserted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEventArgs) Handles sqlPlansetFiles.Inserted
'Label1.Text = sqlPlansetFiles.InsertParameters("newIDPlansetFiles").DefaultValue.ToString
idPlansetFiles = Convert.ToInt32(e.Command.Parameters("@newIDPlansetFiles").Value)
'Label1.Text = newProductID
End Sub