QrRapido/Services/RouteDataRequestCultureProvider.cs
2025-07-29 19:11:47 -03:00

27 lines
1.1 KiB
C#

using Microsoft.AspNetCore.Localization;
namespace QRRapidoApp.Services
{
public class RouteDataRequestCultureProvider : RequestCultureProvider
{
public override Task<ProviderCultureResult?> DetermineProviderCultureResult(HttpContext httpContext)
{
if (httpContext?.Request?.RouteValues == null)
return Task.FromResult<ProviderCultureResult?>(null);
var routeValues = httpContext.Request.RouteValues;
if (!routeValues.ContainsKey("culture"))
return Task.FromResult<ProviderCultureResult?>(null);
var culture = routeValues["culture"]?.ToString();
if (string.IsNullOrEmpty(culture))
return Task.FromResult<ProviderCultureResult?>(null);
var supportedCultures = new[] { "pt-BR", "es", "en" };
if (!supportedCultures.Contains(culture))
return Task.FromResult<ProviderCultureResult?>(null);
return Task.FromResult<ProviderCultureResult?>(new ProviderCultureResult(culture));
}
}
}