You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
5.0 KiB
122 lines
5.0 KiB
Imports System
|
|
Imports System.Data
|
|
Imports System.Data.SqlTypes
|
|
Imports System.Data.SqlClient
|
|
Imports System.IO
|
|
|
|
Namespace TKB.VV.Lifecycle
|
|
Public Class clsProduktImage
|
|
Dim images As New DataSet
|
|
|
|
Public Function Load_Images(ByVal Produktnr As Integer, ByRef grpbilder As GroupBox, ByRef tstrip As ToolStrip)
|
|
For Each ct As Control In grpbilder.Controls
|
|
If ct.Name.Substring(0, 1) = "P" Then
|
|
ct.Visible = False
|
|
ct.Dispose()
|
|
grpbilder.Controls.Remove(ct)
|
|
End If
|
|
Next
|
|
Application.DoEvents()
|
|
Dim i As Integer = 0
|
|
GetImages(Produktnr)
|
|
If images.Tables(0).Rows.Count > 1 Then tstrip.Visible = True Else tstrip.Visible = False
|
|
For Each r As DataRow In images.Tables(0).Rows
|
|
i = i + 1
|
|
Dim arrayImage() As Byte = CType(r.Item("Image"), Byte())
|
|
Dim ms As New MemoryStream(arrayImage)
|
|
Dim picbox As New PictureBox
|
|
With picbox
|
|
.Image = Image.FromStream(ms)
|
|
.SizeMode = PictureBoxSizeMode.Zoom
|
|
End With
|
|
If i = 1 Then picbox.Visible = True Else picbox.Visible = False
|
|
picbox.Name = "P" + i.ToString
|
|
grpbilder.Controls.Add(picbox)
|
|
picbox.Dock = DockStyle.Fill
|
|
ms.Dispose()
|
|
Next
|
|
Try
|
|
Dim lbl As Label = grpbilder.Controls("lblMaxImage")
|
|
lbl.Text = i.ToString
|
|
lbl = grpbilder.Controls("lblCurrentImage")
|
|
lbl.Text = "P1"
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
grpbilder.Refresh()
|
|
End Function
|
|
|
|
Private Function GetImages(ByVal Produktnr As Integer) As DataTable
|
|
images.Tables.Clear()
|
|
Dim selectcommand As New SqlCommand
|
|
Dim connection As New SqlConnection()
|
|
Dim da As New SqlDataAdapter("Select * from dbo.lc_produktimage where aktiv=1 and lc_produktnr = " + Produktnr.ToString + " order by lc_produktimagenr", connection)
|
|
selectcommand.CommandType = CommandType.Text
|
|
selectcommand.Connection = connection
|
|
Try
|
|
connection.ConnectionString = Globals.sConnectionString
|
|
connection.Open()
|
|
da.Fill(images, "ProductImages")
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
Finally
|
|
connection.Close()
|
|
da.Dispose()
|
|
selectcommand.Dispose()
|
|
End Try
|
|
End Function
|
|
|
|
Public Function Save_Image(ByVal Produktnr As Integer, ByRef PicBox As PictureBox)
|
|
Dim ms As New MemoryStream
|
|
PicBox.Image.Save(ms, PicBox.Image.RawFormat)
|
|
Dim connection As New SqlConnection(Globals.sConnectionString)
|
|
|
|
Dim arrayImage() As Byte = ms.GetBuffer
|
|
ms.Close() ' Closes the Memory Stream
|
|
|
|
Dim strQuery As String = "INSERT INTO dbo.lc_produktImage (lc_produktnr, image, erstellt_am, mutiert_am, mutierer, aktiv) " + _
|
|
" VALUES(@Produktnr, @image, @erstellt_am, @mutiert_am, @mutierer, @aktiv)"
|
|
|
|
Dim objcommand As New SqlCommand(strQuery, connection)
|
|
|
|
With objcommand
|
|
.Parameters.Add(New SqlParameter("@Produktnr", SqlDbType.Int, 4)).Value = Produktnr
|
|
.Parameters.Add(New SqlParameter("@Image", SqlDbType.Image)).Value = arrayImage
|
|
.Parameters.Add(New SqlParameter("@Erstellt_am", SqlDbType.DateTime)).Value = Now
|
|
.Parameters.Add(New SqlParameter("@Mutiert_am", SqlDbType.DateTime)).Value = Now
|
|
.Parameters.Add(New SqlParameter("@Mutierer", SqlDbType.Int)).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value
|
|
.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.Bit)).Value = 1
|
|
End With
|
|
|
|
connection.Open()
|
|
objcommand.ExecuteNonQuery()
|
|
connection.Close()
|
|
End Function
|
|
|
|
|
|
Public Function Delete_Image(Imagenr)
|
|
Dim connection As New SqlConnection(Globals.sConnectionString)
|
|
Dim s As String
|
|
|
|
Dim objcommand As New SqlCommand("Update lc_produktimage set aktiv=0,mutierer=" + Globals.clsmitarbeiter.iMitarbeiternr.Value.ToString + ", mutiert_am='" + Now.ToString + "' where lc_produktimageNr=" + Imagenr.ToString, connection)
|
|
connection.Open()
|
|
objcommand.ExecuteNonQuery()
|
|
connection.Close()
|
|
End Function
|
|
|
|
Public Function Delete_Image_Physisch(Imagenr)
|
|
Dim connection As New SqlConnection(Globals.sConnectionString)
|
|
Dim s As String
|
|
|
|
Dim objcommand As New SqlCommand("delete from lc_produktimage where lc_produktimageNr=" + Imagenr.ToString, connection)
|
|
connection.Open()
|
|
objcommand.ExecuteNonQuery()
|
|
connection.Close()
|
|
End Function
|
|
|
|
End Class
|
|
|
|
|
|
End Namespace
|
|
|