mirror of
https://github.com/bitwarden/server.git
synced 2025-07-06 18:42:49 -05:00
[PM-13999] Show estimated tax for taxable countries (#5077)
This commit is contained in:
33
src/Core/Billing/Extensions/CurrencyExtensions.cs
Normal file
33
src/Core/Billing/Extensions/CurrencyExtensions.cs
Normal file
@ -0,0 +1,33 @@
|
||||
namespace Bit.Core.Billing.Extensions;
|
||||
|
||||
public static class CurrencyExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Converts a currency amount in major units to minor units.
|
||||
/// </summary>
|
||||
/// <example>123.99 USD returns 12399 in minor units.</example>
|
||||
public static long ToMinor(this decimal amount)
|
||||
{
|
||||
return Convert.ToInt64(amount * 100);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts a currency amount in minor units to major units.
|
||||
/// </summary>
|
||||
/// <param name="amount"></param>
|
||||
/// <example>12399 in minor units returns 123.99 USD.</example>
|
||||
public static decimal? ToMajor(this long? amount)
|
||||
{
|
||||
return amount?.ToMajor();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts a currency amount in minor units to major units.
|
||||
/// </summary>
|
||||
/// <param name="amount"></param>
|
||||
/// <example>12399 in minor units returns 123.99 USD.</example>
|
||||
public static decimal ToMajor(this long amount)
|
||||
{
|
||||
return Convert.ToDecimal(amount) / 100;
|
||||
}
|
||||
}
|
@ -11,6 +11,7 @@ public static class ServiceCollectionExtensions
|
||||
{
|
||||
public static void AddBillingOperations(this IServiceCollection services)
|
||||
{
|
||||
services.AddSingleton<ITaxService, TaxService>();
|
||||
services.AddTransient<IOrganizationBillingService, OrganizationBillingService>();
|
||||
services.AddTransient<IPremiumUserBillingService, PremiumUserBillingService>();
|
||||
services.AddTransient<ISetupIntentCache, SetupIntentDistributedCache>();
|
||||
|
Reference in New Issue
Block a user