This commit is contained in:
Ahmed Bouhuolia
2025-11-17 17:04:25 +02:00
parent 2383091b6e
commit 2c64e1b8ab
41 changed files with 709 additions and 87 deletions

View File

@@ -22,6 +22,8 @@ import {
EditSaleReceiptDto,
} from './dtos/SaleReceipt.dto';
import { GetSaleReceiptMailStateService } from './queries/GetSaleReceiptMailState.service';
import { BulkDeleteSaleReceiptsService } from './BulkDeleteSaleReceipts.service';
import { ValidateBulkDeleteSaleReceiptsService } from './ValidateBulkDeleteSaleReceipts.service';
@Injectable()
export class SaleReceiptApplication {
@@ -36,7 +38,9 @@ export class SaleReceiptApplication {
private getSaleReceiptStateService: GetSaleReceiptState,
private saleReceiptNotifyByMailService: SaleReceiptMailNotification,
private getSaleReceiptMailStateService: GetSaleReceiptMailStateService,
) {}
private bulkDeleteSaleReceiptsService: BulkDeleteSaleReceiptsService,
private validateBulkDeleteSaleReceiptsService: ValidateBulkDeleteSaleReceiptsService,
) { }
/**
* Creates a new sale receipt with associated entries.
@@ -85,6 +89,26 @@ export class SaleReceiptApplication {
return this.deleteSaleReceiptService.deleteSaleReceipt(saleReceiptId);
}
/**
* Deletes multiple sale receipts.
* @param {number[]} saleReceiptIds
*/
public async bulkDeleteSaleReceipts(saleReceiptIds: number[]) {
return this.bulkDeleteSaleReceiptsService.bulkDeleteSaleReceipts(
saleReceiptIds,
);
}
/**
* Validates which sale receipts can be deleted.
* @param {number[]} saleReceiptIds
*/
public async validateBulkDeleteSaleReceipts(saleReceiptIds: number[]) {
return this.validateBulkDeleteSaleReceiptsService.validateBulkDeleteSaleReceipts(
saleReceiptIds,
);
}
/**
* Retrieve sales receipts paginated and filterable list.
* @param {ISalesReceiptsFilter} filterDTO