From 3d29e01a7384f9d8cfb165523bd3e9aa21005b5a Mon Sep 17 00:00:00 2001 From: Saleh Yusefnejad Date: Thu, 30 Jan 2025 17:27:47 +0330 Subject: [PATCH] render currency symbol correctly in Boilerplate #9752 --- .../Components/Pages/HomePage.razor | 4 ++-- .../Components/Pages/HomePage.razor.cs | 5 +++-- .../Components/Pages/ProductPage.razor | 6 +++--- .../src/Shared/Dtos/Products/ProductDto.cs | 14 ++++++++++++++ 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/HomePage.razor b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/HomePage.razor index d420f410a9..3a0618be6b 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/HomePage.razor +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/HomePage.razor @@ -35,7 +35,7 @@ @product.Name @product.Description - @product.Price.ToString("C") + @product.FormattedPrice @@ -53,7 +53,7 @@ @product.Name @product.Description - @product.Price.ToString("C") + @product.FormattedPrice diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/HomePage.razor.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/HomePage.razor.cs index b2746acf7a..d035a677b0 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/HomePage.razor.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/HomePage.razor.cs @@ -1,9 +1,10 @@ //+:cnd:noEmit -using Boilerplate.Shared.Dtos.Products; using Boilerplate.Shared.Dtos.Statistics; using Boilerplate.Shared.Controllers.Products; using Boilerplate.Shared.Controllers.Statistics; - +//#if(module == "Sales") +using Boilerplate.Shared.Dtos.Products; +//#endif namespace Boilerplate.Client.Core.Components.Pages; public partial class HomePage diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/ProductPage.razor b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/ProductPage.razor index 19e9f55d75..cc37a77ae2 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/ProductPage.razor +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/ProductPage.razor @@ -21,7 +21,7 @@ @product.Name @product.CategoryName @product.Description - @product.Price.ToString("C") + @product.FormattedPrice @@ -95,7 +95,7 @@ @prd.Name @prd.Description - @prd.Price.ToString("C") + @prd.FormattedPrice @@ -141,7 +141,7 @@ @prd.Name @prd.Description - @prd.Price.ToString("C") + @prd.FormattedPrice diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Dtos/Products/ProductDto.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Dtos/Products/ProductDto.cs index e4764638d1..210719224b 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Dtos/Products/ProductDto.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Dtos/Products/ProductDto.cs @@ -37,4 +37,18 @@ public partial class ProductDto ? null : new Uri(absoluteServerAddress, $"/api/Attachment/GetProductImage/{Id}?v={ConcurrencyStamp}").ToString(); } + + public string FormattedPrice => FormatPrice(); + + private string FormatPrice() + { + if (CultureInfoManager.MultilingualEnabled) + { + return CultureInfo.CurrentCulture.TextInfo.IsRightToLeft + ? $"{Price:N0} {CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol}" + : Price.ToString("C"); + } + + return Price.ToString("N0"); + } }