refactor(EnvelopeGenerator.Common): umbenennen in EnvelopeGenerator.CommonService
This commit is contained in:
135
EnvelopeGenerator.CommonServices/Helpers.vb
Normal file
135
EnvelopeGenerator.CommonServices/Helpers.vb
Normal file
@@ -0,0 +1,135 @@
|
||||
Imports System.Drawing
|
||||
Imports System.IO
|
||||
Imports System.Security.Cryptography
|
||||
Imports System.Text
|
||||
Imports DevExpress.Utils.Svg
|
||||
Imports EnvelopeGenerator.Domain.Constants
|
||||
|
||||
Public Class Helpers
|
||||
Private Shared key As String = "$xzBvyPETUS&amm8)D8x#)f;4%;?[BPd" ' Passwort-Schlüssel (16, 24, or 32 bytes)
|
||||
Private Shared iv As String = "1wN&e[zrQ6_B7X/0" ' Initialisierungsvektor (16 bytes)
|
||||
|
||||
' Entschlüsselungsfunktion
|
||||
Public Shared Function Decrypt(cipherText As String) As String
|
||||
Dim aesAlg As Aes = Aes.Create()
|
||||
aesAlg.Key = Encoding.UTF8.GetBytes(key)
|
||||
aesAlg.IV = Encoding.UTF8.GetBytes(iv)
|
||||
Dim decryptor As ICryptoTransform = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV)
|
||||
Dim cipherBytes As Byte() = Convert.FromBase64String(cipherText)
|
||||
Dim msDecrypt As New IO.MemoryStream(cipherBytes)
|
||||
Using csDecrypt As New CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)
|
||||
Using srDecrypt As New IO.StreamReader(csDecrypt)
|
||||
Return srDecrypt.ReadToEnd()
|
||||
End Using
|
||||
End Using
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Encodes the EnvelopeUUID and the ReceiverSignature into an EnvelopeKey
|
||||
''' </summary>
|
||||
''' <param name="pEnvelopeUuid"></param>
|
||||
''' <param name="pReceiverSignature"></param>
|
||||
''' <returns>The EnvelopeKey</returns>
|
||||
Public Shared Function EncodeEnvelopeReceiverId(pEnvelopeUuid As String, pReceiverSignature As String) As String
|
||||
Dim oString = $"{pEnvelopeUuid}::{pReceiverSignature}"
|
||||
Dim oBytes = System.Text.Encoding.UTF8.GetBytes(oString)
|
||||
Dim oBase64String = Convert.ToBase64String(oBytes)
|
||||
|
||||
Return oBase64String
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Decodes the EnvelopeKey and returns the EnvelopeUUID and the ReceiverSignature
|
||||
''' </summary>
|
||||
''' <param name="pEnvelopeReceiverId">The EnvelopeKey</param>
|
||||
''' <returns>A tuple containing EnvelopeUUID and Receiver Signature</returns>
|
||||
Public Shared Function DecodeEnvelopeReceiverId(pEnvelopeReceiverId As String) As Tuple(Of String, String)
|
||||
Dim oBytes = Convert.FromBase64String(pEnvelopeReceiverId)
|
||||
Dim oString = System.Text.Encoding.UTF8.GetString(oBytes)
|
||||
Dim oSplit = oString.Split(New String() {"::"}, StringSplitOptions.None)
|
||||
|
||||
Return New Tuple(Of String, String)(oSplit(0), oSplit(1))
|
||||
End Function
|
||||
|
||||
Public Shared Function GetEnvelopeURL(pHost As String, pEnvelopeUuid As String, pReceiverSignature As String) As String
|
||||
|
||||
Dim oEnvelopeUserReference As String = EncodeEnvelopeReceiverId(pEnvelopeUuid, pReceiverSignature)
|
||||
Dim oURL As String = String.Format("{0}/EnvelopeKey/{1}", pHost.Trim(), oEnvelopeUserReference)
|
||||
Return oURL
|
||||
|
||||
End Function
|
||||
|
||||
Public Shared Function GetAccessCode() As String
|
||||
Return Guid.NewGuid().ToString("d").Substring(1, 6).ToUpper()
|
||||
End Function
|
||||
|
||||
|
||||
Public Shared Function ColorTypeToColor(pColorType As ColorType) As Color
|
||||
Select Case pColorType
|
||||
Case ColorType.ReceiverColor1
|
||||
Return ColorTranslator.FromHtml("#22c55e")
|
||||
|
||||
Case ColorType.ReceiverColor2
|
||||
Return ColorTranslator.FromHtml("#3b82f6")
|
||||
|
||||
Case ColorType.ReceiverColor3
|
||||
Return ColorTranslator.FromHtml("#8b5cf6")
|
||||
|
||||
Case ColorType.ReceiverColor4
|
||||
Return ColorTranslator.FromHtml("#f59e0b")
|
||||
|
||||
Case ColorType.ReceiverColor5
|
||||
Return ColorTranslator.FromHtml("#ef4444")
|
||||
|
||||
Case ColorType.ReceiverColor6
|
||||
Return ColorTranslator.FromHtml("#14b8a6")
|
||||
|
||||
Case ColorType.ReceiverColor7
|
||||
Return ColorTranslator.FromHtml("#d946ef")
|
||||
|
||||
Case ColorType.ReceiverColor8
|
||||
Return ColorTranslator.FromHtml("#06b6d4")
|
||||
|
||||
Case ColorType.ReceiverColor9
|
||||
Return ColorTranslator.FromHtml("#10b981")
|
||||
|
||||
Case ColorType.ReceiverColor10
|
||||
Return ColorTranslator.FromHtml("#84cc16")
|
||||
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Public Shared Function GetColorCircle(pBaseImage As SvgImage, pColor As Color) As SvgImage
|
||||
Dim oColoredImage As SvgImage = pBaseImage.
|
||||
Clone(Sub(el As SvgElement, table As Hashtable)
|
||||
If TypeOf el Is SvgCircle Then
|
||||
el.Styles.Clear()
|
||||
table("StyleName") = String.Empty
|
||||
table("Fill") = ColorTranslator.ToHtml(pColor)
|
||||
End If
|
||||
End Sub)
|
||||
|
||||
Return oColoredImage
|
||||
End Function
|
||||
|
||||
Public Shared Function IsValidEmailAddress(pEmailAddress As String) As Boolean
|
||||
Try
|
||||
Dim oAddress = New System.Net.Mail.MailAddress(pEmailAddress)
|
||||
Return oAddress.Address = pEmailAddress
|
||||
Catch ex As Exception
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Shared Async Function CopyFileAsync(sourceFile As String, destinationFile As String) As Task
|
||||
Dim fileOptions = IO.FileOptions.Asynchronous Or IO.FileOptions.SequentialScan
|
||||
Dim bufferSize = 4096
|
||||
|
||||
Using sourceStream = New FileStream(sourceFile, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize, fileOptions)
|
||||
|
||||
Using destinationStream = New FileStream(destinationFile, FileMode.CreateNew, FileAccess.Write, FileShare.None, bufferSize, fileOptions)
|
||||
Await sourceStream.CopyToAsync(destinationStream, bufferSize).ConfigureAwait(False)
|
||||
End Using
|
||||
End Using
|
||||
End Function
|
||||
End Class
|
||||
Reference in New Issue
Block a user