diff --git a/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb b/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb index 9b4d76e6..4e19c511 100644 --- a/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb +++ b/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' indem Sie "*" wie unten gezeigt eingeben: ' - - + + diff --git a/EnvelopeGenerator.Common/Services/ActionService.vb b/EnvelopeGenerator.Common/Services/ActionService.vb index b0b44291..e2b114b1 100644 --- a/EnvelopeGenerator.Common/Services/ActionService.vb +++ b/EnvelopeGenerator.Common/Services/ActionService.vb @@ -34,13 +34,13 @@ Public Class ActionService Return True End Function - Public Function DeleteEnvelope(pEnvelope As Envelope) As Boolean + Public Function DeleteEnvelope(pEnvelope As Envelope, pReason As String) As Boolean If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.EnvelopeDeleted, pEnvelope.User.Email) = False Then Return False End If Dim oSendResult = pEnvelope.Receivers. - Select(Function(r) EmailService.SendEnvelopeDeletedEmail(pEnvelope, r)). + Select(Function(r) EmailService.SendEnvelopeDeletedEmail(pEnvelope, r, pReason)). All(Function(r) r = True) If oSendResult = False Then diff --git a/EnvelopeGenerator.Common/Services/EmailService.vb b/EnvelopeGenerator.Common/Services/EmailService.vb index b4fe38ec..dae37fea 100644 --- a/EnvelopeGenerator.Common/Services/EmailService.vb +++ b/EnvelopeGenerator.Common/Services/EmailService.vb @@ -15,14 +15,14 @@ Public Class EmailService EmailTemplate = New TemplateService(pState) End Sub - Public Function SendEnvelopeDeletedEmail(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean + Public Function SendEnvelopeDeletedEmail(pEnvelope As Envelope, pReceiver As EnvelopeReceiver, pReason As String) As Boolean Logger.Debug("Creating email data object.") Dim oEmailData As New EmailData(pEnvelope, pReceiver, Constants.EnvelopeStatus.MessageDeletionSent) With { .SignatureLink = "" } - EmailTemplate.FillEnvelopeDeletedEmailBody(oEmailData) + EmailTemplate.FillEnvelopeDeletedEmailBody(oEmailData, pReason) If EmailModel.Insert(oEmailData) = False Then Logger.Error("EMail data could not be inserted.") diff --git a/EnvelopeGenerator.Common/Services/TemplateService.vb b/EnvelopeGenerator.Common/Services/TemplateService.vb index 193e325c..4adab2a8 100644 --- a/EnvelopeGenerator.Common/Services/TemplateService.vb +++ b/EnvelopeGenerator.Common/Services/TemplateService.vb @@ -16,7 +16,7 @@ Public Class TemplateService EmailHtmlTemplateModel = New EmailTemplateModel(pState) End Sub - Private Sub InitDictionary(pEmailData As EmailData) + Private Sub InitDictionary(pEmailData As EmailData, Optional pReason As String = "") Logger.Debug("Initializing dictionary..") _replaceDictionary = New Dictionary(Of String, String) From { @@ -28,7 +28,8 @@ Public Class TemplateService {"[LINK_TO_DOCUMENT_TEXT]", $"{pEmailData.SignatureLink.Truncate(40)}.."}, {"[DOCUMENT_TITLE]", pEmailData.EnvelopeTitle}, {"[MESSAGE]", pEmailData.Message}, - {"[DOCUMENT_ACCESS_CODE]", pEmailData.ReceiverAccessCode} + {"[DOCUMENT_ACCESS_CODE]", pEmailData.ReceiverAccessCode}, + {"[REASON]", pReason} } End Sub @@ -40,11 +41,11 @@ Public Class TemplateService pEmailData.EmailSubject = FillTemplate(oTemplate.Subject) End Sub - Public Sub FillEnvelopeDeletedEmailBody(pEmailData As EmailData) - InitDictionary(pEmailData) + Public Sub FillEnvelopeDeletedEmailBody(pEmailData As EmailData, pReason As String) + InitDictionary(pEmailData, pReason) Dim oTemplate = EmailHtmlTemplateModel.GetById(Constants.EmailTemplateType.DocumentDeleted) - pEmailData.EmailBody = FillTemplate(oTemplate.Body) + pEmailData.EmailBody = FillTemplate(oTemplate.Body, pReason) pEmailData.EmailSubject = FillTemplate(oTemplate.Subject) End Sub @@ -72,11 +73,12 @@ Public Class TemplateService pEmailData.EmailSubject = FillTemplate(oTemplate.Subject) End Sub - Private Function FillTemplate(pTemplate As String) As String + Private Function FillTemplate(pTemplate As String, Optional pReason As String = "") As String Dim oText As String = pTemplate For Each dictItem As KeyValuePair(Of String, String) In _replaceDictionary If oText.Contains(dictItem.Key) Then + oText = oText.Replace(dictItem.Key, dictItem.Value) End If diff --git a/EnvelopeGenerator.Form/Controllers/BaseController.vb b/EnvelopeGenerator.Form/Controllers/BaseController.vb index 7591b0a1..11cbdf09 100644 --- a/EnvelopeGenerator.Form/Controllers/BaseController.vb +++ b/EnvelopeGenerator.Form/Controllers/BaseController.vb @@ -42,7 +42,7 @@ Public MustInherit Class BaseController ChartModel = New ChartModel(pState) End Sub - Public Function DeleteEnvelope(pEnvelope As Envelope) As Boolean + Public Function DeleteEnvelope(pEnvelope As Envelope, pReason As String) As Boolean If pEnvelope Is Nothing Then Return True End If @@ -52,7 +52,7 @@ Public MustInherit Class BaseController Return False End If - Return ActionService.DeleteEnvelope(pEnvelope) + Return ActionService.DeleteEnvelope(pEnvelope, pReason) Else Return DeleteEnvelopeFromDisk(pEnvelope) End If diff --git a/EnvelopeGenerator.Form/Controllers/EnvelopeListController.vb b/EnvelopeGenerator.Form/Controllers/EnvelopeListController.vb index f171ed8f..89f79e38 100644 --- a/EnvelopeGenerator.Form/Controllers/EnvelopeListController.vb +++ b/EnvelopeGenerator.Form/Controllers/EnvelopeListController.vb @@ -15,8 +15,8 @@ Public Class EnvelopeListController Return EnvelopeModel.ListCompleted() End Function - Public Overloads Function DeleteEnvelope(pEnvelope As Envelope) As Boolean - Return MyBase.DeleteEnvelope(pEnvelope) + Public Overloads Function DeleteEnvelope(pEnvelope As Envelope, pReason As String) As Boolean + Return MyBase.DeleteEnvelope(pEnvelope, pReason) End Function Public Function GetPieChart() As ChartControl diff --git a/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj b/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj index 7fb4c94d..6b681a0a 100644 --- a/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj +++ b/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj @@ -150,6 +150,12 @@ Form + + frmRueckruf.vb + + + Form + frmSplashScreen.vb @@ -194,6 +200,9 @@ frmMain.vb Designer + + frmRueckruf.vb + frmSplashScreen.vb diff --git a/EnvelopeGenerator.Form/My Project/Application.Designer.vb b/EnvelopeGenerator.Form/My Project/Application.Designer.vb index b1785d9e..9f0460d6 100644 --- a/EnvelopeGenerator.Form/My Project/Application.Designer.vb +++ b/EnvelopeGenerator.Form/My Project/Application.Designer.vb @@ -24,7 +24,7 @@ Namespace My _ Public Sub New() MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) - Me.IsSingleInstance = true + Me.IsSingleInstance = false Me.EnableVisualStyles = true Me.SaveMySettingsOnExit = true Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses diff --git a/EnvelopeGenerator.Form/My Project/Application.myapp b/EnvelopeGenerator.Form/My Project/Application.myapp index d6d2e5f3..7b34109c 100644 --- a/EnvelopeGenerator.Form/My Project/Application.myapp +++ b/EnvelopeGenerator.Form/My Project/Application.myapp @@ -2,7 +2,7 @@ true frmSplashScreen - true + false 0 true 0 diff --git a/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb b/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb index f2e3518b..fc5fe7a3 100644 --- a/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb +++ b/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb @@ -32,5 +32,5 @@ Imports System.Runtime.InteropServices ' You can specify all the values or you can default the Build and Revision Numbers ' by using the '*' as shown below: ' [assembly: AssemblyVersion("1.0.*")] - + diff --git a/EnvelopeGenerator.Form/app.config b/EnvelopeGenerator.Form/app.config index a5b30491..f3a1fb9f 100644 --- a/EnvelopeGenerator.Form/app.config +++ b/EnvelopeGenerator.Form/app.config @@ -14,10 +14,10 @@ True - Skin/Office 2019 White + Skin/The Bezier - + VS 2019 Blue diff --git a/EnvelopeGenerator.Form/frmMain.Designer.vb b/EnvelopeGenerator.Form/frmMain.Designer.vb index 036dc241..556e2834 100644 --- a/EnvelopeGenerator.Form/frmMain.Designer.vb +++ b/EnvelopeGenerator.Form/frmMain.Designer.vb @@ -58,6 +58,7 @@ Partial Class frmMain Me.txtEnvelopeIdLabel = New DevExpress.XtraBars.BarStaticItem() Me.btnOpenLogDirectory = New DevExpress.XtraBars.BarButtonItem() Me.BarCheckItem1 = New DevExpress.XtraBars.BarCheckItem() + Me.bsitmInfo = New DevExpress.XtraBars.BarStaticItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageEnvelopeActions = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() @@ -82,7 +83,6 @@ Partial Class frmMain Me.GridColumn5 = New DevExpress.XtraGrid.Columns.GridColumn() Me.GridColumn7 = New DevExpress.XtraGrid.Columns.GridColumn() Me.RefreshTimer = New System.Windows.Forms.Timer(Me.components) - Me.bsitmInfo = New DevExpress.XtraBars.BarStaticItem() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerControl1.Panel1.SuspendLayout() @@ -390,6 +390,14 @@ Partial Class frmMain Me.BarCheckItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarCheckItem1.ImageOptions.LargeImage"), System.Drawing.Image) Me.BarCheckItem1.Name = "BarCheckItem1" ' + 'bsitmInfo + ' + Me.bsitmInfo.Id = 13 + Me.bsitmInfo.ImageOptions.Image = CType(resources.GetObject("bsitmInfo.ImageOptions.Image"), System.Drawing.Image) + Me.bsitmInfo.Name = "bsitmInfo" + Me.bsitmInfo.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph + Me.bsitmInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Never + ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageEnvelopeActions, Me.RibbonPageGroup1, Me.RibbonPageGroup2}) @@ -573,14 +581,6 @@ Partial Class frmMain ' Me.RefreshTimer.Interval = 120000 ' - 'bsitmInfo - ' - Me.bsitmInfo.Id = 13 - Me.bsitmInfo.ImageOptions.Image = CType(resources.GetObject("BarStaticItem1.ImageOptions.Image"), System.Drawing.Image) - Me.bsitmInfo.Name = "bsitmInfo" - Me.bsitmInfo.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph - Me.bsitmInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Never - ' 'frmMain ' resources.ApplyResources(Me, "$this") diff --git a/EnvelopeGenerator.Form/frmMain.resx b/EnvelopeGenerator.Form/frmMain.resx index 4e9b99c0..dc357f7b 100644 --- a/EnvelopeGenerator.Form/frmMain.resx +++ b/EnvelopeGenerator.Form/frmMain.resx @@ -123,7 +123,7 @@ - 0, 160 + 0, 162 Fill @@ -631,54 +631,54 @@ 2zax9GEAAAAASUVORK5CYII= - + - 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 @@ -703,13 +703,13 @@ Einstellungen - 1088, 160 + 1090, 162 - 0, 659 + 0, 660 - 1088, 22 + 1090, 22 RibbonStatusBar @@ -736,7 +736,7 @@ 2 - 1086, 466 + 1088, 459 2 @@ -754,7 +754,7 @@ 0 - 1086, 466 + 1088, 459 Offene Umschläge @@ -772,7 +772,7 @@ 0 - 1088, 489 + 1090, 488 3 @@ -994,7 +994,7 @@ 1 - 1088, 499 + 1090, 498 5 @@ -1012,7 +1012,7 @@ 0 - 196, 17 + 193, 17 True @@ -1021,7 +1021,7 @@ 6, 13 - 1088, 681 + 1090, 682 @@ -1277,6 +1277,12 @@ DevExpress.XtraBars.BarCheckItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + bsitmInfo + + + DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + RibbonPage1 @@ -1403,12 +1409,6 @@ System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - bsitmInfo - - - DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - frmMain diff --git a/EnvelopeGenerator.Form/frmMain.vb b/EnvelopeGenerator.Form/frmMain.vb index 902b88cc..c18051a3 100644 --- a/EnvelopeGenerator.Form/frmMain.vb +++ b/EnvelopeGenerator.Form/frmMain.vb @@ -1,4 +1,5 @@ -Imports DevExpress.Utils.Extensions +Imports DevExpress.LookAndFeel +Imports DevExpress.Utils.Extensions Imports DevExpress.XtraCharts Imports DevExpress.XtraGrid Imports DevExpress.XtraGrid.Views.Grid @@ -38,6 +39,12 @@ Public Class frmMain RefreshHelper = New RefreshHelper(ViewEnvelopes, "Id") Controller = New EnvelopeListController(State) + Try + Me.LookAndFeel.UseDefaultLookAndFeel = False + LookAndFeel.SetSkinStyle(SkinStyle.Office2019Colorful, SkinSvgPalette.DefaultSkin) + Catch ex As Exception + + End Try LoadEnvelopeData() End Sub @@ -130,14 +137,14 @@ Public Class frmMain End Try End Sub - Private Sub DeleteEnvelope(pRowHandle As Integer) + Private Sub DeleteEnvelope(pRowHandle As Integer, pReason As String) Dim oEnvelope As Envelope = ViewEnvelopes.GetRow(pRowHandle) - If MsgBox(Resources.Envelope.Do_you_really_want_to_delete_this_envelope, MsgBoxStyle.Question Or MsgBoxStyle.YesNo, Text) = MsgBoxResult.No Then - Exit Sub - End If + 'If MsgBox(Resources.Envelope.Do_you_really_want_to_delete_this_envelope, MsgBoxStyle.Question Or MsgBoxStyle.YesNo, Text) = MsgBoxResult.No Then + ' Exit Sub + 'End If - If Controller.DeleteEnvelope(oEnvelope) Then + If Controller.DeleteEnvelope(oEnvelope, pReason) Then LoadEnvelopeData() Else MsgBox(Resources.Envelope.The_envelope_could_not_be_deleted, MsgBoxStyle.Critical, Text) @@ -152,10 +159,20 @@ Public Class frmMain End Sub Private Sub btnDeleteEnvelope_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnDeleteEnvelope.ItemClick - Dim oSelectedRows = ViewEnvelopes.GetSelectedRows() - If oSelectedRows.Count > 0 Then - DeleteEnvelope(oSelectedRows.First) - End If + Try + Dim oSelectedRows = ViewEnvelopes.GetSelectedRows() + If oSelectedRows.Count > 0 Then + Dim ofrmAbort As New frmRueckruf + frmRueckruf.ShowDialog() + If frmRueckruf.Continue_Reject = True Then + DeleteEnvelope(oSelectedRows.First, frmRueckruf.Reject_reason) + End If + + End If + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical) + End Try + End Sub Private Sub frmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing diff --git a/EnvelopeGenerator.Form/frmRueckruf.Designer.vb b/EnvelopeGenerator.Form/frmRueckruf.Designer.vb new file mode 100644 index 00000000..c0cfdea9 --- /dev/null +++ b/EnvelopeGenerator.Form/frmRueckruf.Designer.vb @@ -0,0 +1,129 @@ + _ +Partial Class frmRueckruf + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.Label2 = New System.Windows.Forms.Label() + Me.txtReason = New System.Windows.Forms.TextBox() + Me.btnWeiter = New System.Windows.Forms.Button() + Me.Label1 = New System.Windows.Forms.Label() + Me.btnCancel = New System.Windows.Forms.Button() + Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() + Me.tsstatus = New System.Windows.Forms.ToolStripStatusLabel() + Me.StatusStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(22, 20) + Me.Label2.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(432, 16) + Me.Label2.TabIndex = 0 + Me.Label2.Text = "Bitte geben Sie einen Grund für den Abbruch/Rückruf des Umschlages ein:" + ' + 'txtReason + ' + Me.txtReason.AcceptsReturn = True + Me.txtReason.Location = New System.Drawing.Point(25, 40) + Me.txtReason.Margin = New System.Windows.Forms.Padding(4) + Me.txtReason.Multiline = True + Me.txtReason.Name = "txtReason" + Me.txtReason.Size = New System.Drawing.Size(429, 87) + Me.txtReason.TabIndex = 1 + ' + 'btnWeiter + ' + Me.btnWeiter.Location = New System.Drawing.Point(25, 134) + Me.btnWeiter.Name = "btnWeiter" + Me.btnWeiter.Size = New System.Drawing.Size(203, 44) + Me.btnWeiter.TabIndex = 2 + Me.btnWeiter.Text = "Weiter" + Me.btnWeiter.UseVisualStyleBackColor = True + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(28, 87) + Me.Label1.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(0, 16) + Me.Label1.TabIndex = 3 + ' + 'btnCancel + ' + Me.btnCancel.Location = New System.Drawing.Point(251, 134) + Me.btnCancel.Name = "btnCancel" + Me.btnCancel.Size = New System.Drawing.Size(203, 44) + Me.btnCancel.TabIndex = 4 + Me.btnCancel.Text = "Abbruch" + Me.btnCancel.UseVisualStyleBackColor = True + ' + 'StatusStrip1 + ' + Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsstatus}) + Me.StatusStrip1.Location = New System.Drawing.Point(0, 185) + Me.StatusStrip1.Name = "StatusStrip1" + Me.StatusStrip1.Size = New System.Drawing.Size(488, 22) + Me.StatusStrip1.TabIndex = 5 + Me.StatusStrip1.Text = "StatusStrip1" + ' + 'tsstatus + ' + Me.tsstatus.Name = "tsstatus" + Me.tsstatus.Size = New System.Drawing.Size(0, 17) + ' + 'frmRueckruf + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 16.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(488, 207) + Me.Controls.Add(Me.StatusStrip1) + Me.Controls.Add(Me.btnCancel) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.btnWeiter) + Me.Controls.Add(Me.txtReason) + Me.Controls.Add(Me.Label2) + Me.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.Margin = New System.Windows.Forms.Padding(4) + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmRueckruf" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent + Me.Text = "Abbruch - Bestätigung" + Me.StatusStrip1.ResumeLayout(False) + Me.StatusStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents Label2 As Label + Friend WithEvents txtReason As TextBox + Friend WithEvents btnWeiter As Button + Friend WithEvents Label1 As Label + Friend WithEvents btnCancel As Button + Friend WithEvents StatusStrip1 As StatusStrip + Friend WithEvents tsstatus As ToolStripStatusLabel +End Class diff --git a/EnvelopeGenerator.Form/frmRueckruf.resx b/EnvelopeGenerator.Form/frmRueckruf.resx new file mode 100644 index 00000000..74443647 --- /dev/null +++ b/EnvelopeGenerator.Form/frmRueckruf.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/EnvelopeGenerator.Form/frmRueckruf.vb b/EnvelopeGenerator.Form/frmRueckruf.vb new file mode 100644 index 00000000..76317af6 --- /dev/null +++ b/EnvelopeGenerator.Form/frmRueckruf.vb @@ -0,0 +1,50 @@ +Imports EnvelopeGenerator.Common.My + +Public Class frmRueckruf + + Public Continue_Reject As Boolean = False + Public Reject_reason As String = "" + Public Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnWeiter.Click + If txtReason.Text <> "" Then + If MsgBox(Resources.Envelope.Do_you_really_want_to_delete_this_envelope, MsgBoxStyle.Question Or MsgBoxStyle.YesNo, Text) = MsgBoxResult.No Then + Me.Close() + End If + tsstatus.Text = "" + Continue_Reject = True + Dim oReason = txtReason.Text + 'If oReason.Contains(vbCrLf) Then + ' MsgBox("vbCrLf") + 'ElseIf oReason.Contains(Chr(13)) Then + ' MsgBox("chr13") + 'ElseIf oReason.Contains(Chr(10)) Then + ' MsgBox("chr10") + 'End If + + 'oReason = oReason.Replace(vbLf, "
") + oReason = oReason.Replace(vbCrLf, "
") + oReason = oReason.Replace(Chr(13), "
") + oReason = oReason.Replace(Chr(10), "
") + Reject_reason = oReason + Me.Close() + Else + tsstatus.Text = "Please add a reason for aborting - " & Now + End If + End Sub + + Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click + Me.Close() + End Sub + + Private Sub frmRueckruf_Load(sender As Object, e As EventArgs) Handles Me.Load + txtReason.Text = "" + tsstatus.Text = "" + End Sub +End Class \ No newline at end of file