Add validators and services for Product Galleries and Product Tags

- Implemented Create, Delete, Get, and Update validators for Product Galleries.
- Added Create, Delete, Get, and Update validators for Product Tags.
- Created service classes for handling Discount Categories, Discount Orders, Discount Products, Discount Shopping Cart, Product Categories, Product Galleries, and Product Tags.
- Each service class integrates with CQRS for command and query handling.
- Established mapping profiles for Product Galleries.
This commit is contained in:
masoodafar-web
2025-12-04 02:40:49 +03:30
parent 40d54d08fc
commit f0f48118e7
436 changed files with 33159 additions and 2005 deletions

View File

@@ -86,11 +86,17 @@ public class CalculateWeeklyBalancesCommandHandler : IRequestHandler<CalculateWe
// اعمال محدودیت سقف تعادل هفتگی (مثلاً 300)
var cappedBalances = Math.Min(totalBalances, maxWeeklyBalances);
// محاسبه باقیمانده برای هفته بعد
// اگر تعادل بیش از سقف بود، مازاد هم به remainder اضافه می‌شود
var excessBalances = totalBalances - cappedBalances;
var leftRemainder = (leftTotal - totalBalances) + (leftTotal >= rightTotal ? excessBalances : 0);
var rightRemainder = (rightTotal - totalBalances) + (rightTotal >= leftTotal ? excessBalances : 0);
// محاسبه باقیمانده برای هفته بعد (Flash Out Logic)
// مثال: چپ=350، راست=450، سقف=300
// تعادل پرداختی = MIN(MIN(350, 450), 300) = 300
// از هر طرف نصف تعادل پرداختی کسر می‌شود: 300÷2 = 150
// باقیمانده چپ: 350 - 150 = 200
// باقیمانده راست: 450 - 150 = 300
var balancesToPay = cappedBalances; // تعادل نهایی قابل پرداخت
var balancesConsumedPerSide = balancesToPay / 2; // هر طرف نصف تعادل را مصرف می‌کند
var leftRemainder = leftTotal - balancesConsumedPerSide;
var rightRemainder = rightTotal - balancesConsumedPerSide;
// محاسبه سهم استخر (20% از مجموع فعال‌سازی‌های جدید کل شبکه)
// طبق گفته دکتر: کل افراد جدید در شبکه × هزینه فعال‌سازی × 20%