Project: Mall App Client: Maiora
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 

55 rader
1.6 KiB

  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. }