feat: implement Kavenegar SMS service and refactor system configurations to use static constants
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 1m38s
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 1m38s
This commit is contained in:
+10
-24
@@ -1,3 +1,4 @@
|
||||
using CMSMicroservice.Domain.Common;
|
||||
using CMSMicroservice.Domain.Enums;
|
||||
using CMSMicroservice.Domain.Events;
|
||||
using CMSMicroservice.Domain.Entities.Order;
|
||||
@@ -63,16 +64,11 @@ public class
|
||||
}
|
||||
|
||||
long finalAmount = 0;
|
||||
var vatIsEnable =
|
||||
_context.SystemConfigurations
|
||||
.FirstOrDefault(f => f.Scope == ConfigurationScope.VAT && f.Key == "IsEnabled")?.Value ??
|
||||
"0";
|
||||
if (vatIsEnable=="1")
|
||||
|
||||
// استفاده از SystemConstants برای VAT
|
||||
if (SystemConstants.ShopVATEnabled)
|
||||
{
|
||||
_vatRate = float.Parse(
|
||||
_context.SystemConfigurations
|
||||
.FirstOrDefault(f => f.Scope == ConfigurationScope.VAT && f.Key == "Shop.VAT")?.Value ??
|
||||
throw new InvalidOperationException());
|
||||
_vatRate = (float)SystemConstants.ShopVAT;
|
||||
finalAmount = AddVAT(user.UserCarts.Sum(s => s.Count * s.Product.Price));
|
||||
_logger.LogInformation(
|
||||
"Calculating final amount with VAT. Base Amount: {BaseAmount}, VAT Rate: {VATRate}, Final Amount: {FinalAmount}",
|
||||
@@ -147,7 +143,7 @@ public class
|
||||
{
|
||||
ProductId = s.ProductId,
|
||||
Count = s.Count,
|
||||
UnitPrice =vatIsEnable=="1" ?AddVAT(s.Product.Price): s.Product.Price,
|
||||
UnitPrice = SystemConstants.ShopVATEnabled ? AddVAT(s.Product.Price) : s.Product.Price,
|
||||
OrderId = newOrder.Id
|
||||
});
|
||||
await _context.FactorDetails.AddRangeAsync(factorDetailsList, cancellationToken);
|
||||
@@ -183,25 +179,15 @@ public class
|
||||
{
|
||||
try
|
||||
{
|
||||
// بررسی فعال بودن VAT
|
||||
var vatEnabledConfig = await _context.SystemConfigurations
|
||||
.FirstOrDefaultAsync(x => x.Scope == ConfigurationScope.VAT && x.Key == "IsEnabled", cancellationToken);
|
||||
|
||||
if (vatEnabledConfig == null || !bool.TryParse(vatEnabledConfig.Value, out var isEnabled) || !isEnabled)
|
||||
// بررسی فعال بودن VAT از SystemConstants
|
||||
if (!SystemConstants.ShopVATEnabled)
|
||||
{
|
||||
_logger.LogInformation("VAT is disabled. Skipping VAT calculation for order {OrderId}", orderId);
|
||||
return false;
|
||||
}
|
||||
|
||||
// دریافت نرخ VAT
|
||||
var vatRateConfig = await _context.SystemConfigurations
|
||||
.FirstOrDefaultAsync(x => x.Scope == ConfigurationScope.VAT && x.Key == "Shop.VAT", cancellationToken);
|
||||
|
||||
if (vatRateConfig == null || !decimal.TryParse(vatRateConfig.Value, out var vatRate))
|
||||
{
|
||||
_logger.LogWarning("VAT Rate configuration not found or invalid. Using default 0.09");
|
||||
vatRate = 0.09m;
|
||||
}
|
||||
// دریافت نرخ VAT از SystemConstants
|
||||
var vatRate = SystemConstants.ShopVAT;
|
||||
|
||||
// محاسبه مالیات
|
||||
var vatAmount = (long)(orderAmount * vatRate);
|
||||
|
||||
Reference in New Issue
Block a user