# Class Trade Document class Trade_Document: costumer_list = [] def __init__(self, name, addr1, addr2, addr3, phone_number, date, product_name, product_cost): self.name = name self.addr1 = addr1 self.addr2 = addr2 self.addr3 = addr3 self.phone_number = phone_number self.date = date self.product_name = product_name self.product_cost = product_cost self.costumer_list.append(self) # End Init # End Class ############################## # Class Sales Order and the check_email method class Sales_Order(Trade_Document): def __init__(self, name, addr1, addr2, addr3, phone_number, date, product_name, product_cost, Order_number, Email_address, VAT_number): super().__init__(name, addr1, addr2, addr3, phone_number, date, product_name, product_cost) self.Order_number = Order_number self.Email_address = Email_address self.VAT_number = VAT_number #END Init def check_email(self): print("Checking that", c1.Email_address, "is a valid email") #END check_email #END Class ############################## # Class Dispatch Note and the calculate_cost method class Dispatch_note(Sales_Order): def __init__(self, name, addr1, addr2, addr3, phone_number, date, product_name, product_cost, Order_number,Dispatch_number, Email_address, VAT_number, VAT_rate, Transport_number, Total_cost): super().__init__(name, addr1, addr2, addr3, phone_number, date, product_name, product_cost, Order_number, Email_address, VAT_number ) self.Dispatch_number = Dispatch_number self.VAT_rate = VAT_rate self.Transport_number = Transport_number self.Total_cost = Total_cost #END Init def calculate_cost(self): self.Total_cost = int(self.product_cost) + (int(self.product_cost) * (int(self.VAT_rate) / 100)) print("The final price is the product cost of €", self.product_cost) print("plus the VAT rate of", self.VAT_rate,"%") print("which is equal to €", self.Total_cost) #END calculate_cost #END Class ############################## # Class Sales invoice and the send_invoice method class Sales_invoice(Dispatch_note): def __init__(self, name, addr1, addr2, addr3, phone_number, date, product_name, product_cost, Order_number,Dispatch_number, Email_address, VAT_number, VAT_rate, Transport_number, Total_cost, invoice_number): super().__init__(name, addr1, addr2, addr3, phone_number, date, product_name, product_cost, Order_number,Dispatch_number, Email_address, VAT_number, VAT_rate, Transport_number, Total_cost) self.invoice_number = invoice_number #END Init def send_invoice(self): print("Send the invoice number:", self.invoice_number) print("of the despatch number:", self.Dispatch_number) print("of the order number:", self.Order_number) print("containing the product:", self.product_name) print("at a final price of:", self.Total_cost) print("to customer:", self.name) #END send_invoice #END Class ############################## # Calling the program c1 = Sales_invoice("Joe Biden", "123", "Dame Street", "Dublin 1", "0877116326", "9.11.2017", "Irish Flag", "150", "ORD345", "DESP236", "JoeBiden@gmail.com", "5", "46", "TRANS542", "150", "INV65478") print(" ") print("============================") print("====== SALES ORDER ======") c1.check_email() print(" ") print("============================") print("===== DESPATCH NOTE =====") c1.calculate_cost() print(" ") print("============================") print("===== SALES INVOICE =====") c1.send_invoice() print("============================")