Пример #1
0
    def __init__(self, category, item_name='item'):
        Component.__init__(self, Item.item_id, item_name)
        Item.item_id += 1
        self.item_name = item_name
        self.category = category
        self.orders_of_item = set()

        if not self.category:
            raise CategoryIsNotDefine()
        else:
            self.category.items_of_category.add(Component.__str__(self))
            Item.all_items.add(Component.__str__(self))
Пример #2
0
 def __str__(self):
     return '\n{0} \n{1}'.format(Component.__str__(self),
                                 ('includes items:\n' +
                                  Component.show_items(
                                      self.items_of_category)) if
                                 self.items_of_category else
                                 "hasn't got items")
Пример #3
0
 def __str__(self):
     return '\n{0} \n{1}\n'.format(Component.__str__(self),
                                   ('is included in orders:\n' +
                                    Component.show_items(
                                        self.orders_of_item) if
                                    self.orders_of_item else
                                    "hasn't been included in any orders"))
Пример #4
0
    def __init__(self, customer=None, first_item=None, order_name='order'):
        Component.__init__(self, Order.order_id, order_name)
        Order.order_id += 1
        self.order_name = order_name
        self.items_of_order = set()

        if not customer:
            raise CustomerIsNotDefine()
        else:
            self.customer = customer
            self.customer.orders_of_customer.add(Component.__str__(self))

        if not first_item:
            raise FirstItemIsNotDefine()
        else:
            self.first_item = first_item
            self.items_of_order.add(Component.__str__(self.first_item))
            self.first_item.orders_of_item.add(Component.__str__(self))
            Order.all_orders.add(Component.__str__(self))
Пример #5
0
 def __init__(self, category_name='Category'):
     Component.__init__(self, Category.category_id, category_name)
     Category.category_id += 1
     self.category_name = category_name
     self.items_of_category = set()
     Category.all_categories.add(Component.__str__(self))
Пример #6
0
 def remove(self, item):
     self.items_of_category.remove(Component.__str__(item))
Пример #7
0
 def add_item(self, item):
     self.items_of_category.add(Component.__str__(item))
Пример #8
0
 def __str__(self):
     return '\n{0}\nowner: {1}\nordered items:\n{2}'.format(
         Component.__str__(self), Component.__str__(self.customer),
         Component.show_items(self.items_of_order))
Пример #9
0
 def remove_item(self, removing_item):
     self.items_of_order.remove(Component.__str__(removing_item))
     if not self.items_of_order:
         raise FirstItemIsNotDefine()
     removing_item.orders_of_item.remove(Component.__str__(self))
Пример #10
0
 def add_item(self, new_item):
     self.items_of_order.add(Component.__str__(new_item))
     new_item.orders_of_item.add(Component.__str__(self))
Пример #11
0
 def __init__(self, customer_name='Customer'):
     Component.__init__(self, Customer.customer_id, customer_name)
     Customer.customer_id += 1
     self.customer_name = customer_name
     self.orders_of_customer = set()
     Customer.all_customers.add(Component.__str__(self))
Пример #12
0
 def __str__(self):
     return '\n{0}\n{1}\n'.format(
         Component.__str__(self),
         ('has made orders:\n' +
          Component.show_items(self.orders_of_customer)
          if self.orders_of_customer else "hasn't got orders"))
Пример #13
0
 def add_order(self, first_item):
     new_order = Order(self, first_item)
     self.orders_of_customer.add(Component.__str__(new_order))
Пример #14
0
 def change_category(self, new_category):
     new_category.items_of_category.add(Component.__str__(self))
     self.category.items_of_category.remove(Component.__str__(self))
     self.category = new_category