From 39c1d3e624d63b793a46a811b15051b1439b5ddb Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Wed, 21 May 2025 19:52:58 +0200 Subject: [PATCH] Add helper methods for color conversion and string checksum generation - Implemented ToColor extension method to convert predefined ColorType enums to HTML hex colors. - Added GetChecksum extension method to generate a SHA-256 checksum from a string. - Included conditional directive for .NET Framework compatibility. --- EnvelopeGenerator.Domain/Entities/Receiver.cs | 5 +- .../EnvelopeGenerator.Domain.csproj | 1 - EnvelopeGenerator.Domain/Helpers.cs | 48 +++++++++++++++++++ 3 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 EnvelopeGenerator.Domain/Helpers.cs diff --git a/EnvelopeGenerator.Domain/Entities/Receiver.cs b/EnvelopeGenerator.Domain/Entities/Receiver.cs index 6e45fc3b..9c69c94a 100644 --- a/EnvelopeGenerator.Domain/Entities/Receiver.cs +++ b/EnvelopeGenerator.Domain/Entities/Receiver.cs @@ -1,7 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Drawing; -using DigitalData.Modules.Base; #if NETFRAMEWORK using System; using System.Collections.Generic; @@ -80,11 +79,11 @@ namespace EnvelopeGenerator.Domain.Entities SignedDate == DateTime.MinValue ? "-" : SignedDate.ToString("G"); [NotMapped] - public Color Color => Helpers.ColorTypeToColor(ColorType); + public Color Color => ColorType.ToColor(); public string GetSignature() { - return StringEx.GetChecksum(EmailAddress?.ToUpperInvariant() ?? string.Empty); + return EmailAddress.ToUpperInvariant().GetChecksum(); } } } \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj b/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj index 3b76d5b8..83410283 100644 --- a/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj +++ b/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj @@ -20,7 +20,6 @@ - diff --git a/EnvelopeGenerator.Domain/Helpers.cs b/EnvelopeGenerator.Domain/Helpers.cs new file mode 100644 index 00000000..bb18dc58 --- /dev/null +++ b/EnvelopeGenerator.Domain/Helpers.cs @@ -0,0 +1,48 @@ +using System.Drawing; +using System.Text; +using System.Security.Cryptography; +#if NETFRAMEWORK +using System; +#endif + +namespace EnvelopeGenerator.Domain +{ + public static class Helpers + { + public static Color ToColor(this Constants.ColorType pColorType) + { + switch (pColorType) + { + case Constants.ColorType.ReceiverColor1: + return ColorTranslator.FromHtml("#22c55e"); + case Constants.ColorType.ReceiverColor2: + return ColorTranslator.FromHtml("#3b82f6"); + case Constants.ColorType.ReceiverColor3: + return ColorTranslator.FromHtml("#8b5cf6"); + case Constants.ColorType.ReceiverColor4: + return ColorTranslator.FromHtml("#f59e0b"); + case Constants.ColorType.ReceiverColor5: + return ColorTranslator.FromHtml("#ef4444"); + case Constants.ColorType.ReceiverColor6: + return ColorTranslator.FromHtml("#14b8a6"); + case Constants.ColorType.ReceiverColor7: + return ColorTranslator.FromHtml("#d946ef"); + case Constants.ColorType.ReceiverColor8: + return ColorTranslator.FromHtml("#06b6d4"); + case Constants.ColorType.ReceiverColor9: + return ColorTranslator.FromHtml("#10b981"); + case Constants.ColorType.ReceiverColor10: + return ColorTranslator.FromHtml("#84cc16"); + default: + return Color.Empty; + } + } + + public static string GetChecksum(this string pStringToCheck) + { + byte[] bytes = Encoding.UTF8.GetBytes(pStringToCheck); + byte[] pChecksum = SHA256.Create().ComputeHash(bytes); + return BitConverter.ToString(pChecksum).Replace("-", "").ToLowerInvariant(); + } + } +}