From 0e270e3182c632de1839088e57e9c3872029fb9d Mon Sep 17 00:00:00 2001 From: TekH Date: Thu, 12 Feb 2026 17:16:36 +0100 Subject: [PATCH] Update Culture model and DI for non-nullable properties Refactored Culture model to use required and non-nullable properties. Removed nullable checks for Info in ShowEnvelope.cshtml. Changed DI from Cultures to MultiCulture in _ViewImports.cshtml. --- EnvelopeGenerator.Web/Models/Culture.cs | 15 ++++++++++----- .../Views/Envelope/ShowEnvelope.cshtml | 4 ++-- EnvelopeGenerator.Web/Views/_ViewImports.cshtml | 2 +- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/EnvelopeGenerator.Web/Models/Culture.cs b/EnvelopeGenerator.Web/Models/Culture.cs index 4838838e..8f492d63 100644 --- a/EnvelopeGenerator.Web/Models/Culture.cs +++ b/EnvelopeGenerator.Web/Models/Culture.cs @@ -4,15 +4,20 @@ namespace EnvelopeGenerator.Web.Models { public class Culture { - private string _language = string.Empty; - public string Language { get => _language; - init { + private string _language = null!; + + public required string Language + { + get => _language; + init + { _language = value; Info = new(value); } } - public string FIClass { get; init; } = string.Empty; - public CultureInfo? Info { get; init; } + public string FIClass { get; init; } = null!; + + public CultureInfo Info { get; init; } = null!; } } diff --git a/EnvelopeGenerator.Web/Views/Envelope/ShowEnvelope.cshtml b/EnvelopeGenerator.Web/Views/Envelope/ShowEnvelope.cshtml index 772f3870..53ede57b 100644 --- a/EnvelopeGenerator.Web/Views/Envelope/ShowEnvelope.cshtml +++ b/EnvelopeGenerator.Web/Views/Envelope/ShowEnvelope.cshtml @@ -86,7 +86,7 @@

@Html.Raw(_localizer.EnvelopeInfo2().Format( - envelope?.AddedWhen.ToString(userCulture?.Info?.DateTimeFormat), + envelope?.AddedWhen.ToString(userCulture?.Info.DateTimeFormat), $"{sender?.Prename} {sender?.Name}", sender?.Email, envelope?.Title, @@ -216,6 +216,6 @@ var documentBase64String = Convert.ToBase64String(documentBytes); var envelopeKey = ViewData["EnvelopeKey"] as string; - @:document.addEventListener("DOMContentLoaded", async () => await new App("@envelopeKey", @Html.Raw(envelopeReceiverJson), B64ToBuff("@Html.Raw(documentBase64String)"), "@ViewData["PSPDFKitLicenseKey"]", "@userCulture?.Info?.TwoLetterISOLanguageName").init()) + @:document.addEventListener("DOMContentLoaded", async () => await new App("@envelopeKey", @Html.Raw(envelopeReceiverJson), B64ToBuff("@Html.Raw(documentBase64String)"), "@ViewData["PSPDFKitLicenseKey"]", "@userCulture?.Info.TwoLetterISOLanguageName").init()) } \ No newline at end of file diff --git a/EnvelopeGenerator.Web/Views/_ViewImports.cshtml b/EnvelopeGenerator.Web/Views/_ViewImports.cshtml index 4ff3ff07..fc04da72 100644 --- a/EnvelopeGenerator.Web/Views/_ViewImports.cshtml +++ b/EnvelopeGenerator.Web/Views/_ViewImports.cshtml @@ -7,6 +7,6 @@ @using Microsoft.Extensions.Options @inject IStringLocalizer _localizer @inject Microsoft.AspNetCore.Http.IHttpContextAccessor _accessor -@inject Cultures _cultures +@inject MultiCulture _cultures @inject IOptions _cImgOpt @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers \ No newline at end of file