198 lines
9.6 KiB
VB.net
198 lines
9.6 KiB
VB.net
Imports DigitalData.Modules.Messaging
|
|
Imports DigitalData.Modules.Logging
|
|
Imports DigitalData.Modules.Database
|
|
Imports FirebirdSql.Data.FirebirdClient
|
|
Imports System.IO
|
|
|
|
Public Class frmEmailAccount
|
|
Private _bindingSource As BindingSource
|
|
Private _tableName As String = "TBEDM_EMAIL_ACCOUNT"
|
|
Private _tableAdapter As FbDataAdapter
|
|
Private _dataSet As New DataSet()
|
|
Private _Logger As Logger
|
|
Private _MyLogger As LogConfig
|
|
Private _firebird As Firebird
|
|
Private _Email As Email
|
|
Private oTable As DataTable
|
|
Private Sub Button5_Click(sender As Object, e As EventArgs)
|
|
|
|
End Sub
|
|
|
|
Private Sub btnsendtestmail_Click(sender As Object, e As EventArgs)
|
|
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton15_Click(sender As Object, e As EventArgs)
|
|
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton21_Click(sender As Object, e As EventArgs)
|
|
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton22_Click(sender As Object, e As EventArgs)
|
|
|
|
End Sub
|
|
|
|
Private Sub frmEmailAccount_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
_MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"))
|
|
_Logger = _MyLogger.GetLogger()
|
|
_firebird = New Firebird(_MyLogger, My.Settings.FB_DATASOURCE, My.Settings.FB_DATABASE, My.Settings.FB_USER, My.Settings.FB_PW)
|
|
_Email = New Email(_MyLogger)
|
|
|
|
|
|
Dim oConnection As FbConnection
|
|
oConnection = New FbConnection(GetConnectionString())
|
|
oConnection.Open()
|
|
|
|
_dataSet.Tables.Add(New DataTable(_tableName) With {.CaseSensitive = True})
|
|
|
|
BindingSourceForm.DataSource = _dataSet
|
|
BindingSourceForm.DataMember = _tableName
|
|
|
|
_tableAdapter = New FbDataAdapter() With {
|
|
.SelectCommand = GetSelectCommand(oConnection),
|
|
.InsertCommand = GetInsertCommand(oConnection),
|
|
.UpdateCommand = GetUpdateCommand(oConnection),
|
|
.DeleteCommand = New FbCommand(),
|
|
.ContinueUpdateOnError = True
|
|
}
|
|
_tableAdapter.Fill(_dataSet, _tableName)
|
|
oTable = _dataSet.Tables.Item(_tableName)
|
|
|
|
txtGUID.DataBindings.Add(New Binding("Text", BindingSourceForm, "GUID"))
|
|
txtPROFILE_NAME.DataBindings.Add(New Binding("Text", BindingSourceForm, "PROFILE_NAME"))
|
|
txtEMAIL_FROM.DataBindings.Add(New Binding("Text", BindingSourceForm, "EMAIL_FROM"))
|
|
txtSERVER_IN.DataBindings.Add(New Binding("Text", BindingSourceForm, "SERVER_IN"))
|
|
txtSERVER_OUT.DataBindings.Add(New Binding("Text", BindingSourceForm, "SERVER_OUT"))
|
|
txtEMAIL_USER.DataBindings.Add(New Binding("Text", BindingSourceForm, "EMAIL_USER"))
|
|
txtEMAIL_PW.DataBindings.Add(New Binding("Text", BindingSourceForm, "EMAIL_PW"))
|
|
' txtPORT_IN.DataBindings.Add(New Binding("Text", BindingSourceForm, "PORT_IN"))
|
|
txtPORT_OUT.DataBindings.Add(New Binding("Text", BindingSourceForm, "PORT_OUT"))
|
|
cmbAUTH_TYPE.DataBindings.Add(New Binding("Text", BindingSourceForm, "AUTH_TYPE"))
|
|
cmbPOP_IMAP.DataBindings.Add(New Binding("Text", BindingSourceForm, "POP_IMAP"))
|
|
ADDED_WHOTextBox.DataBindings.Add(New Binding("Text", BindingSourceForm, "CREATEDWHO"))
|
|
ADDED_WHENTextBox.DataBindings.Add(New Binding("Text", BindingSourceForm, "CREATEDWHEN"))
|
|
CHANGED_WHOTextBox.DataBindings.Add(New Binding("Text", BindingSourceForm, "CHANGEDWHO"))
|
|
CHANGED_WHENTextBox.DataBindings.Add(New Binding("Text", BindingSourceForm, "CHANGEDWHEN"))
|
|
|
|
|
|
|
|
GridControl1.DataSource = BindingSourceForm
|
|
BindingNavigator1.BindingSource = BindingSourceForm
|
|
GridView1.BestFitColumns(True)
|
|
oConnection.Close()
|
|
End Sub
|
|
Private Function GetSelectCommand(Connection As FbConnection) As FbCommand
|
|
Dim oCommand As New FbCommand() With {
|
|
.Connection = Connection,
|
|
.CommandText = $"SELECT * FROM TBEDM_EMAIL_ACCOUNT"
|
|
}
|
|
|
|
Return oCommand
|
|
End Function
|
|
|
|
Private Function GetInsertCommand(Connection As FbConnection) As FbCommand
|
|
Dim oSQL = "INSERT INTO TBEDM_EMAIL_ACCOUNT (PROFILE_NAME,POP_IMAP,EMAIL_FROM,FROM_NAME,SERVER_IN,SERVER_OUT,EMAIL_USER,EMAIL_PW,AUTH_TYPE,PORT_IN,PORT_OUT,ACTIVE,CREATEDWHO) VALUES (@PROFILE_NAME,@POP_IMAP,@EMAIL_FROM,@FROM_NAME,@SERVER_IN,@SERVER_OUT,@EMAIL_USER,@EMAIL_PW,@AUTH_TYPE,@PORT_IN,@PORT_OUT,@ACTIVE,@CREATEDWHO)"
|
|
|
|
Dim oCommand As New FbCommand With {
|
|
.Connection = Connection,
|
|
.CommandType = CommandType.Text,
|
|
.CommandText = oSQL
|
|
}
|
|
|
|
With oCommand.Parameters
|
|
.Add(New FbParameter("@PROFILE_NAME", FbDbType.VarChar, 50, "PROFILE_NAME"))
|
|
.Add(New FbParameter("@POP_IMAP", FbDbType.VarChar, 20, "POP_IMAP"))
|
|
.Add(New FbParameter("@EMAIL_FROM", FbDbType.VarChar, 100, "EMAIL_FROM"))
|
|
.Add(New FbParameter("@FROM_NAME", FbDbType.VarChar, 100, "FROM_NAME"))
|
|
.Add(New FbParameter("@SERVER_IN", FbDbType.VarChar, 100, "SERVER_IN"))
|
|
.Add(New FbParameter("@SERVER_OUT", FbDbType.VarChar, 100, "SERVER_OUT"))
|
|
.Add(New FbParameter("@EMAIL_USER", FbDbType.VarChar, 100, "EMAIL_USER"))
|
|
.Add(New FbParameter("@EMAIL_PW", FbDbType.VarChar, 100, "EMAIL_PW"))
|
|
.Add(New FbParameter("@AUTH_TYPE", FbDbType.VarChar, 100, "AUTH_TYPE"))
|
|
.Add(New FbParameter("@PORT_IN", FbDbType.Integer, 10, "PORT_IN"))
|
|
.Add(New FbParameter("@PORT_OUT", FbDbType.Integer, 10, "PORT_OUT"))
|
|
'.Add(New FbParameter("@ACTIVE", FbDbType.Boolean, 10, "ACTIVE"))
|
|
.Add(New FbParameter("@CREATEDWHO", FbDbType.VarChar, 50, "CREATEDWHO"))
|
|
|
|
End With
|
|
End Function
|
|
Private Function GetUpdateCommand(Connection As FbConnection) As FbCommand
|
|
Dim oSQL = "UPDATE TBEDM_EMAIL_ACCOUNT SET PROFILE_NAME = @PROFILE_NAME, POP_IMAP = @POP_IMAP,EMAIL_FROM = @EMAIL_FROM,FROM_NAME = @FROM_NAME,SERVER_IN = @SERVER_IN,SERVER_OUT = @SERVER_OUT,EMAIL_USER = @EMAIL_USER,EMAIL_PW = @EMAIL_PW,AUTH_TYPE = @AUTH_TYPE,PORT_IN = @PORT_IN,PORT_OUT = @PORT_OUT,ACTIVE = @ACTIVE,CHANGEDWHO = @CHANGEDWHO WHERE GUID = @GUID"
|
|
|
|
Dim oCommand As New FbCommand With {
|
|
.Connection = Connection,
|
|
.CommandType = CommandType.Text,
|
|
.CommandText = oSQL
|
|
}
|
|
|
|
With oCommand.Parameters
|
|
.Add(New FbParameter("@GUID", FbDbType.Integer, 10, "GUID"))
|
|
.Add(New FbParameter("@PROFILE_NAME", FbDbType.VarChar, 50, "PROFILE_NAME"))
|
|
.Add(New FbParameter("@POP_IMAP", FbDbType.VarChar, 20, "POP_IMAP"))
|
|
.Add(New FbParameter("@EMAIL_FROM", FbDbType.VarChar, 100, "EMAIL_FROM"))
|
|
.Add(New FbParameter("@FROM_NAME", FbDbType.VarChar, 100, "FROM_NAME"))
|
|
.Add(New FbParameter("@SERVER_IN", FbDbType.VarChar, 100, "SERVER_IN"))
|
|
.Add(New FbParameter("@SERVER_OUT", FbDbType.VarChar, 100, "SERVER_OUT"))
|
|
.Add(New FbParameter("@EMAIL_USER", FbDbType.VarChar, 100, "EMAIL_USER"))
|
|
.Add(New FbParameter("@EMAIL_PW", FbDbType.VarChar, 100, "EMAIL_PW"))
|
|
.Add(New FbParameter("@AUTH_TYPE", FbDbType.VarChar, 100, "AUTH_TYPE"))
|
|
.Add(New FbParameter("@PORT_IN", FbDbType.Integer, 10, "PORT_IN"))
|
|
.Add(New FbParameter("@PORT_OUT", FbDbType.Integer, 10, "PORT_OUT"))
|
|
' .Add(New FbParameter("@ACTIVE", FbDbType.Boolean, "ACTIVE"))
|
|
.Add(New FbParameter("@CHANGEDWHO", FbDbType.VarChar, 50, "CHANGEDWHO"))
|
|
|
|
End With
|
|
End Function
|
|
Private Function GetConnectionString()
|
|
Dim oConnectionString = New FbConnectionStringBuilder With {
|
|
.DataSource = My.Settings.FB_DATASOURCE,
|
|
.Database = My.Settings.FB_DATABASE,
|
|
.UserID = My.Settings.FB_USER,
|
|
.Password = My.Settings.FB_PW,
|
|
.Dialect = 3
|
|
}.ToString()
|
|
|
|
Return oConnectionString
|
|
End Function
|
|
|
|
Private Sub btnsendtestmail_Click_1(sender As Object, e As EventArgs) Handles btnsendtestmail.Click
|
|
If txtTestmail.Text <> String.Empty Then
|
|
My.Settings.Save()
|
|
Dim wrapper As New clsEncryption("!35452didalog=")
|
|
|
|
Dim PWPlain = wrapper.DecryptData(txtEMAIL_PW.Text)
|
|
|
|
If _Email.NewEmail(txtTestmail.Text, "Testmail DD Windream-ResultHandler", "This is the body (text will be replaced within profile)", txtEMAIL_FROM.Text, txtSERVER_OUT.Text, txtPORT_OUT.Text, txtEMAIL_USER.Text, PWPlain, cmbAUTH_TYPE.Text, "EDMI GUI") = True Then
|
|
MsgBox("Email was send successfully.", MsgBoxStyle.Information)
|
|
Else
|
|
MsgBox("Could not send the testmail. Please check the log.", MsgBoxStyle.Exclamation)
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub tsbtnSaveEmailAccount_Click(sender As Object, e As EventArgs) Handles tsbtnSaveEmailAccount.Click
|
|
Me.Validate()
|
|
Me.BindingSourceForm.EndEdit()
|
|
oTable.AcceptChanges()
|
|
If Not IsNothing(oTable.GetChanges) Then
|
|
_tableAdapter.Update(oTable)
|
|
MsgBox("DONE!")
|
|
Else
|
|
MsgBox("No changes")
|
|
End If
|
|
_tableAdapter.Update(oTable)
|
|
End Sub
|
|
|
|
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
|
|
Dim wrapper As New clsEncryption("!35452didalog=")
|
|
Dim pwencrypted = wrapper.EncryptData(txtnewpasswort.Text)
|
|
txtEMAIL_PW.Text = pwencrypted
|
|
Dim upd = $"UPDATE TBEDM_EMAIL_ACCOUNT SET EMAIL_PW = '{pwencrypted}', CHANGEDWHO = '{Environment.UserName}' WHERE GUID = {txtGUID.Text}"
|
|
If _firebird.ExecuteNonQuery(upd) = True Then
|
|
MsgBox("Passwort has been encrypted!")
|
|
End If
|
|
|
|
End Sub
|
|
End Class |