# BackOffice Changelog

> تاریخچه تغییرات پروژه BackOffice

---

## December 20, 2025

### 🐛 Bug Fixes

#### 1. صفحه `/network/balances` - ValidationException
**مشکل**: خطای ValidationException هنگام لود صفحه

**راه‌حل**: اضافه کردن Mapster mapping در `CommissionProfile.cs`:
```csharp
config.NewConfig<GetUserWeeklyBalancesRequest, GetUserWeeklyBalancesQuery>()
    .Map(dest => dest.PaginationState, src => src.PaginationState);
```

---

#### 2. صفحه `/club/members` - داده‌ها لود نمی‌شدند
**مشکل**: صفحه خالی بود و داده‌ای نمایش نمی‌داد

**راه‌حل**: ایجاد `ClubMembershipProfile.cs` در CMS و BFF با mappings کامل:
- `GetAllClubMembershipsRequest` ↔ `GetAllClubMembershipsQuery`
- `GetAllClubMembershipsResponseDto` ↔ `GetAllClubMembershipsResponse`

**فایل‌های جدید**:
- `CMS/WebApi/Common/Mappings/ClubMembershipProfile.cs`
- `BackOffice.BFF/WebApi/Common/Mappings/ClubMembershipProfile.cs` (بازنویسی)

---

#### 3. صفحه `/club/statistics` - Unimplemented Error
**مشکل**: خطای `Status(StatusCode="Unimplemented")`

**راه‌حل**: 
1. اضافه کردن override `GetClubStatistics` در `ClubMembershipService.cs`
2. اضافه کردن mappings برای Statistics در هر دو Profile

---

### ✨ New Features

#### 4. فعال‌سازی قابلیت‌های Products
**قبل**: همه دکمه‌ها "در حال توسعه" نشان می‌دادند

**بعد**: همه قابلیت‌ها فعال شدند:
- ✅ ایجاد محصول جدید (CreateDialog)
- ✅ ویرایش محصول (UpdateDialog)
- ✅ گالری تصاویر (GalleryDialog)
- ✅ مدیریت تگ‌ها (AssignTagsDialog)

**فایل**: `ProductsMainPage.razor.cs`

---

#### 5. فیلد "تعداد موجودی" در Products
**اضافات**:
- فیلد موجودی در فرم ایجاد محصول
- فیلد موجودی در فرم ویرایش محصول
- ستون موجودی در لیست با رنگ‌بندی:
  - 🔴 ناموجود (0 یا کمتر)
  - 🟡 کم موجود (کمتر از 10)
  - 🟢 موجود (10 یا بیشتر)

**فایل‌های تغییر یافته**:
- `CreateDialog.razor`
- `UpdateDialog.razor`
- `ProductsMainPage.razor`
- `CreateNewProductsCommand.cs` (BFF)
- `UpdateProductsCommand.cs` (BFF)

---

## December 6, 2025

### ✅ Major Milestones

- Build Errors: 60+ → 0
- MudBlazor 8 Migration Complete
- All Product Image Management APIs Implemented
- BulkEdit Module Enabled
- All Files Unexcluded

### 🔧 Technical Changes

- `IMudDialogInstance` جایگزین `MudDialogInstance`
- `MudSwitch T="bool"` اضافه شد
- `MudChip T="string"` اضافه شد
- Products از NuGet به ProjectReference تغییر کرد

---

## December 1, 2025

### ✅ Network & Commission System

- Commission Dashboard Complete
- Network Members Page Complete
- Club Members Page Complete
- Weekly Pool Management
- Withdrawal System
- Payout System

---

## November 29, 2025

### ✅ Initial Setup

- SystemConfigurations Table Created
- Base Configuration Values Added:
  - `Network.MaxDepth`: 10
  - `Club.DefaultMembershipDurationMonths`: 12
  - `Commission.MinimumPayoutAmount`: 100000
  - `System.MaintenanceMode`: false
