Project: Mall App Client: Maiora
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

cart-item.ts 1.6 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import MenuItem from './menu-item';
  2. export default class CartItem {
  3. menu_item: string;
  4. quantity: number;
  5. pickup_time: Date;
  6. outlet_id: string;
  7. mall_id: string;
  8. take_away: boolean;
  9. total_price: number;
  10. constructor(initializationObject: any) {
  11. if (!initializationObject.hasOwnProperty('menu_item')) {
  12. throw new Error('Missing Menu item');
  13. }
  14. if (!initializationObject.hasOwnProperty('quantity')) {
  15. throw new Error('Missing quantity');
  16. }
  17. if (!initializationObject.hasOwnProperty('pickup_time')) {
  18. throw new Error('Missing Pickup time');
  19. }
  20. if (!initializationObject.hasOwnProperty('outlet_id')) {
  21. throw new Error('Missing Outlet ID');
  22. }
  23. if (!initializationObject.hasOwnProperty('mall_id')) {
  24. throw new Error('Missing Mall ID');
  25. }
  26. if (!initializationObject.hasOwnProperty('take_away')) {
  27. throw new Error('Missing Parcel Flag');
  28. }
  29. this.menu_item = initializationObject.menu_item;
  30. this.quantity = initializationObject.quantity;
  31. this.pickup_time = initializationObject.pickup_time;
  32. this.outlet_id = initializationObject.outlet_id;
  33. this.mall_id = initializationObject.mall_id;
  34. this.take_away = initializationObject.take_away;
  35. this.total_price = initializationObject.total_price;
  36. }
  37. }
  38. export interface ICartItem {
  39. menu_item: MenuItem;
  40. quantity: number;
  41. pickup_time: Date;
  42. outlet_id: string;
  43. mall_id: string;
  44. take_away: boolean;
  45. total_price: number;
  46. }