98 lines
3.2 KiB
Markdown
98 lines
3.2 KiB
Markdown
# راهنمای ادامه کار - BackOffice Build Fix
|
||
|
||
> این فایل برای شروع چت جدید طراحی شده است
|
||
|
||
## وضعیت فعلی
|
||
|
||
**تاریخ**: 5 دسامبر 2025
|
||
**Build Status**: ❌ FAILING (~12 خطا)
|
||
**پیشرفت**: از 60+ خطا به ~12 خطا رسیدیم
|
||
|
||
---
|
||
|
||
## دستور شروع کار
|
||
|
||
```bash
|
||
# 1. وضعیت فعلی build
|
||
cd /home/masoud/Apps/project/FourSat/BackOffice/src/BackOffice
|
||
dotnet build 2>&1 | grep -E "error CS|Error"
|
||
|
||
# 2. خواندن داکیومنتها
|
||
cat /home/masoud/Apps/project/FourSat/BackOffice/docs/BUILD-FIX-STATUS.md
|
||
cat /home/masoud/Apps/project/FourSat/BackOffice/docs/EXCLUDED-FILES.md
|
||
cat /home/masoud/Apps/project/FourSat/BackOffice/docs/PROTO-DEPENDENCIES.md
|
||
```
|
||
|
||
---
|
||
|
||
## خطاهای باقیمانده (تقریبی)
|
||
|
||
### 1. PaginationState Namespace
|
||
**فایل**: `ProductsAutoComplete.razor.cs`
|
||
**خطا**: `PaginationState` پیدا نمیشه
|
||
**فیکس**: تغییر using به `BackOffice.BFF.Products.Protobuf.Protos.Products`
|
||
|
||
### 2. Int32Value/Int64Value Binding
|
||
**فایل**: `WithdrawalReports.razor`
|
||
**خطا**: `@bind-Value` روی `Int32Value` کار نمیکنه
|
||
**فیکس**: استفاده از conversion یا wrapper
|
||
|
||
### 3. GalleryDialog Reference
|
||
**فایل**: `ProductsMainPage.razor.cs`
|
||
**خطا**: `GalleryDialog` exclude شده ولی متد `OpenGalleryDialog` هنوز هست
|
||
**فیکس**: comment کردن متد
|
||
|
||
### 4. DiscountShopWidget Reference
|
||
**فایل**: `SystemOverview.razor`
|
||
**خطا**: component exclude شده ولی استفاده میشه
|
||
**فیکس**: حذف یا comment کردن component از صفحه
|
||
|
||
### 5. ClubMembers Bool Binding
|
||
**فایل**: `ClubMembers.razor`
|
||
**خطا**: `bool?` به `MudSwitch T="bool"` bind نمیشه
|
||
**فیکس**: تغییر نوع متغیر یا استفاده از converter
|
||
|
||
---
|
||
|
||
## فایلهای کلیدی
|
||
|
||
| فایل | هدف |
|
||
|------|-----|
|
||
| `BackOffice.csproj` | لیست exclude ها و references |
|
||
| `ConfigureService.cs` | DI registrations |
|
||
| `_Imports.razor` | global using و inject ها |
|
||
| `BackOffice/docs/BUILD-FIX-STATUS.md` | وضعیت کامل خطاها |
|
||
| `BackOffice/docs/EXCLUDED-FILES.md` | فایلهای exclude شده |
|
||
| `BackOffice/docs/PROTO-DEPENDENCIES.md` | وابستگیهای proto |
|
||
|
||
---
|
||
|
||
## نکات مهم
|
||
|
||
1. **هیچ فایلی حذف نشده** - فقط از build exclude شدند
|
||
2. **Products.Protobuf** از ProjectReference استفاده میکند (نه NuGet)
|
||
3. **MudBlazor 8.14.0** نیاز به `T` parameter دارد
|
||
4. **Snackbar** در `_Imports.razor` inject شده
|
||
5. **.NET 9** target framework هست
|
||
|
||
---
|
||
|
||
## چکلیست برای تکمیل
|
||
|
||
- [ ] فیکس PaginationState namespace
|
||
- [ ] فیکس WithdrawalReports binding
|
||
- [ ] Comment کردن OpenGalleryDialog
|
||
- [ ] حذف DiscountShopWidget از SystemOverview
|
||
- [ ] فیکس ClubMembers bool binding
|
||
- [ ] ✅ Build موفق
|
||
- [ ] تست صفحات اصلی
|
||
|
||
---
|
||
|
||
## پس از Build موفق
|
||
|
||
1. Proto های جدید بسازید (DiscountProduct, Tag, etc.)
|
||
2. فایلهای exclude شده رو برگردونید
|
||
3. متدهای جدید به UserOrder.Protobuf اضافه کنید
|
||
4. تستهای integration بنویسید
|