# فایلهای Exclude شده از Build
> آخرین بروزرسانی: December 6, 2025
>
> این فایلها از build خارج شدند ولی **حذف نشدند**
## ✅ فایلهای برگردانده شده (Enabled)
این فایلها قبلاً exclude بودند و حالا **فعال** شدند:
### DiscountShop Module
- ✅ `Pages/DiscountShop/**` - تمام صفحات فروشگاه تخفیفی
- ✅ `Services/DiscountProduct/**` - سرویس محصولات تخفیفی
- ✅ `Services/DiscountCategory/**` - سرویس دستهبندیها
- ✅ `Services/DiscountOrder/**` - سرویس سفارشات
### Tag Module
- ✅ `Pages/Tag/**` - صفحات مدیریت تگ
- ✅ `Services/Tag/**` - سرویس تگ
### PublicMessages Module
- ✅ `Pages/PublicMessages/**` - مدیریت پیامهای عمومی
- ✅ `Services/PublicMessage/**` - سرویس پیامها
### Payment Module
- ✅ `Pages/Payment/ManualPayments.razor*` - پرداختهای دستی
- ✅ `Pages/Payment/Components/ManualPaymentDialog.razor*` - دیالوگ پرداخت
- ✅ `Pages/Payment/Transactions.razor*` - صفحه تراکنشها
### Dashboard
- ✅ `Pages/Dashboard/DiscountShopWidget.razor*` - ویجت آمار فروشگاه
### DragDrop Pages
- ✅ `Pages/Category/CategoryProductsDragDropPage.razor*` - مدیریت محصولات دسته
- ✅ `Pages/Products/ProductCategoriesDragDropPage.razor*` - مدیریت دستههای محصول
### BulkEdit Module
- ✅ `Pages/Products/BulkEdit.razor*` - ویرایش گروهی محصولات (ENABLED)
---
## ❌ فایلهای هنوز Exclude
### گروه 1: نیاز به Proto Methods جدید
| فایل | Proto | متد/Message مورد نیاز |
|------|-------|----------------------|
| `Pages/Products/Components/GalleryDialog.razor*` | Products | `AddProductImageAsync`, `RemoveProductImageAsync`, `ImageFileModel` |
| `Pages/Products/Components/CreateDialog.razor*` | Products | `CreateProductWithImageRequest`, `ImageFileModel` |
| `Pages/Products/Components/UpdateDialog.razor*` | Products | `UpdateProductWithImageRequest`, `ImageFileModel` |
**تعداد**: 3 فایل
**راهحل**: افزودن RPCهای زیر به `products.proto`:
```protobuf
rpc AddProductImage(AddProductImageRequest) returns (AddProductImageResponse);
rpc RemoveProductImage(RemoveProductImageRequest) returns (google.protobuf.Empty);
message ImageFileModel {
bytes file = 1;
string mime = 2;
string file_name = 3;
}
```
---
### گروه 2: نیاز به Refactoring
| فایل | مشکل | راهحل |
|------|------|---------|
| `Pages/Products/BulkEdit.razor*` | استفاده مستقیم از `CMSMicroservice.Protobuf.Protos` | تغییر به `BackOffice.BFF` + افزودن `BulkUpdateProducts` RPC |
**تعداد**: 1 فایل
**راهحل**:
1. حذف dependency به CMSMicroservice
2. افزودن bulk update method به products.proto
3. پیادهسازی در Backend
---
## آمار
- **✅ فایلهای Enabled**: ~30+ صفحه و ~15 سرویس
- **❌ فایلهای Excluded**: 4 فایل
- **Proto Projects ساخته شده**: 14
- **Build Errors**: 0
---
## Exclude های فعلی در csproj
```xml
```
---
## نکات مهم
### برای فعالسازی فایلهای Exclude:
1. **GalleryDialog, CreateDialog, UpdateDialog**:
- نیاز به پیادهسازی Image Upload API در Backend
- افزودن `ImageFileModel` message به proto
- افزودن RPC methods برای upload/remove
2. **BulkEdit**:
- حذف dependency به `CMSMicroservice.Protobuf`
- استفاده از `BackOffice.BFF.Products.Protobuf`
- افزودن `BulkUpdateProducts` RPC به backend
### فایلهای کامل شده که دیگر exclude نیستند:
- ✅ تمام ماژول DiscountShop
- ✅ تمام ماژول Tag
- ✅ تمام ماژول PublicMessages
- ✅ تمام ماژول ManualPayments
- ✅ DiscountShopWidget
- ✅ Transactions
- ✅ DragDrop Pages
---
```