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.

199 lines
8.4 KiB

Imports System.ComponentModel
Imports System.Deployment
Imports System.Deployment.Application
Public Class frmMain
Private _dataPath As String = System.IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "Gaesteliste.xml")
'I should not need this for now - we do not work with mouse pointer rows index for selection but we select them with left-click.
' and with ctrl select (left click, multi-select!)
'Private _rowIndex As Integer = 0
Private Sub LoadWindowPosition()
'http://christ-offer.blogspot.co.at/2012/02/vbnet-remember-application-window-size.html
'TODO: Change this to get loaded from registry. I'm not a huge fan of my.settings ;)
Dim ptLocation As System.Drawing.Point = My.Settings.WindowLocation
If (ptLocation.X = -1) And (ptLocation.Y = -1) Then
Return
End If
Dim bLocationVisible As Boolean = False
For Each S As Screen In Screen.AllScreens
If S.Bounds.Contains(ptLocation) Then
bLocationVisible = True
Exit For
End If
Next
If Not bLocationVisible Then
Return
End If
Me.StartPosition = FormStartPosition.Manual
Me.Location = ptLocation
Me.Size = My.Settings.WindowSize
End Sub
Private Sub frmMain_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
Me.GästeDataSet.WriteXml(_dataPath)
My.Settings.WindowLocation = Me.Location
My.Settings.WindowSize = Me.Size
End Sub
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
Me.GästeDataSet.ReadXml(_dataPath)
Catch ex As Exception
' do nothing, that file gets created when we close the application ;)
End Try
LoadWindowPosition()
' Setting colors of grids to some fancy ones :)
'TODO: Save some colors in registry.
Me.DataGridView1.RowsDefaultCellStyle.BackColor = Color.Azure
Me.DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Beige
If ApplicationDeployment.IsNetworkDeployed Then
statusVersionLabel.Text = "Version " & ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString & " (" & ApplicationDeployment.CurrentDeployment.UpdatedVersion.ToString & ")"
Else
statusVersionLabel.Text = "Lokale Version: " & My.Application.Info.Version.ToString
End If
End Sub
Private Sub InfoToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles InfoToolStripMenuItem.Click
Dim oForm As New frmAbout()
oForm.ShowDialog()
oForm.Dispose()
oForm = Nothing
End Sub
Private Sub OnlineHilfeToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OnlineHilfeToolStripMenuItem.Click
Process.Start("http://tmsn.at/?tools&gaesteliste&hilfe")
End Sub
Private Sub UpdateToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UpdateToolStripMenuItem.Click
Dim Info As UpdateCheckInfo
If ApplicationDeployment.IsNetworkDeployed Then
Dim AD As ApplicationDeployment = ApplicationDeployment.CurrentDeployment
Info = AD.CheckForDetailedUpdate
If Info.UpdateAvailable Then
If MsgBox("Ein Update ist verfügbar und wird jetzt installiert." + Chr(13) + "Die Anwendung wird danach neu gestartet.", vbOKCancel) = vbOK Then
AD.Update()
System.Windows.Forms.Application.Restart()
End If
Else
MsgBox("Es ist kein Update verfügbar.")
End If
Else
MsgBox("Die Anwendung wurde nicht aus dem Internet bezogen und kann daher nicht aktualisiert werden.")
End If
End Sub
Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click
For Each Row As DataGridViewRow In DataGridView1.SelectedRows
Me.DataGridView1.Rows.RemoveAt(Row.Index)
Next
'Me.DataGridView1.Rows(Me.DataGridView1.Rows.Count - 1).Selected = True
Try
Me.DataGridView1.CurrentRow.Selected = True
Catch ex As Exception
'nothing :D
End Try
End Sub
Private Sub HinzufügenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles HinzufügenToolStripMenuItem.Click
Dim oForm As New frmPerson()
oForm.Tag = "add"
oForm.ShowDialog()
'http://www.vb-helper.com/howto_net_dataset_autonumber.html
Dim dt As DataTable = GästeDataSet.Tables("Gäste")
Dim dr As DataRow = dt.NewRow()
With dr
.Item("Nachname") = oForm.txtNachname.Text
.Item("Vorname") = oForm.txtVorname.Text
.Item("Straße") = oForm.txtStrasse.Text
.Item("PLZ") = oForm.txtPLZ.Text
.Item("Ort") = oForm.txtOrt.Text
.Item("Land") = oForm.cboLand.Text
.Item("Telefon") = oForm.txtTelefon.Text
.Item("Email") = oForm.txtEmail.Text
.Item("Anmerkung") = oForm.txtAnmerkung.Text
.Item("Stammgast") = oForm.chkStammgast.Checked
.Item("Blockiert") = oForm.chkBlacklist.Checked
End With
Try
dt.Rows.Add(dr)
Catch ex As Exception
MsgBox("Gast konnte nicht hinzugefügt werden." & vbCrLf & ex.Message)
End Try
oForm.Dispose()
oForm = Nothing
End Sub
Private Sub BearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BearbeitenToolStripMenuItem.Click
Dim oForm As New frmPerson()
oForm.Tag = "edit"
With oForm
.txtID.Text = Me.DataGridView1.SelectedCells(0).Value.ToString
.txtNachname.Text = Me.DataGridView1.SelectedCells(1).Value.ToString
.txtVorname.Text = Me.DataGridView1.SelectedCells(2).Value.ToString
.txtStrasse.Text = Me.DataGridView1.SelectedCells(3).Value.ToString
.txtPLZ.Text = Me.DataGridView1.SelectedCells(4).Value.ToString
.txtOrt.Text = Me.DataGridView1.SelectedCells(5).Value.ToString
.cboLand.Text = Me.DataGridView1.SelectedCells(6).Value.ToString
.txtTelefon.Text = Me.DataGridView1.SelectedCells(7).Value.ToString
.txtEmail.Text = Me.DataGridView1.SelectedCells(8).Value.ToString
.txtAnmerkung.Text = Me.DataGridView1.SelectedCells(9).Value.ToString
'.chkStammgast.Checked = CBool(Me.DataGridView1.SelectedCells(10).Value)
'.chkBlacklist.Checked = CBool(Me.DataGridView1.SelectedCells(11).Value)
End With
'MsgBox(CType(Me.DataGridView1.SelectedCells(10).Value, Boolean))
oForm.ShowDialog()
oForm.Dispose()
oForm = Nothing
End Sub
'We should not have to use this any more. but for backup we left this here...
'Private Sub DataGridView1_CellMouseUp(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseUp
' If e.Button = MouseButtons.Right Then
' Me.DataGridView1.Rows(e.RowIndex).Selected = True
' Me._rowIndex = e.RowIndex
' Me.DataGridView1.CurrentCell = Me.DataGridView1.Rows(e.RowIndex).Cells(1)
' Me.mnuContext.Show(Me.DataGridView1, e.Location)
' mnuContext.Show(Cursor.Position)
' End If
'End Sub
Private Sub DataGridView1_MouseUp(sender As Object, e As MouseEventArgs) Handles DataGridView1.MouseUp
If e.Button = MouseButtons.Right Then
If Me.DataGridView1.SelectedRows.Count < 1 Then
HinzufügenToolStripMenuItem.Visible = True
BearbeitenToolStripMenuItem.Visible = False
LöschenToolStripMenuItem.Visible = False
Else
If Me.DataGridView1.SelectedRows.Count > 1 Then
HinzufügenToolStripMenuItem.Visible = True
BearbeitenToolStripMenuItem.Visible = False
LöschenToolStripMenuItem.Visible = True
Else
HinzufügenToolStripMenuItem.Visible = True
BearbeitenToolStripMenuItem.Visible = True
LöschenToolStripMenuItem.Visible = True
End If
End If
Me.mnuContext.Show(Me.DataGridView1, e.Location)
mnuContext.Show(Cursor.Position)
End If
End Sub
End Class