選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

36 行
1.1KB

  1. using CartWise.Application.Results;
  2. using CartWise.Domain.Entities;
  3. namespace CartWise.Application.Interfaces;
  4. public interface IPurchaseService
  5. {
  6. Task<Result<Purchase>> StartPurchaseAsync(
  7. Guid householdId,
  8. string purchasedByUserId,
  9. DateTime purchasedUtc,
  10. Guid? storeLocationId = null,
  11. CancellationToken cancellationToken = default);
  12. Task<Result<PurchaseItem>> AddPurchaseItemAsync(
  13. Guid householdId,
  14. Guid purchaseId,
  15. string description,
  16. decimal linePrice,
  17. decimal quantity = 1m,
  18. string? unit = null,
  19. Guid? productId = null,
  20. Guid? shoppingListItemId = null,
  21. CancellationToken cancellationToken = default);
  22. Task<Result<Purchase>> CompletePurchaseAsync(
  23. Guid householdId,
  24. Guid purchaseId,
  25. decimal? tax = null,
  26. CancellationToken cancellationToken = default);
  27. Task<Purchase?> GetPurchaseAsync(Guid householdId, Guid purchaseId, CancellationToken cancellationToken = default);
  28. Task<IReadOnlyList<Purchase>> GetHouseholdPurchasesAsync(Guid householdId, CancellationToken cancellationToken = default);
  29. }

Powered by TurnKey Linux.