public boolean addItem(ProductTypes type) {
                Item item;

                int id = this.getSysCtrl().getStore().getItems().size();

                System.out.println("Description:");
                String description = JDealsController.scan.nextLine();

                System.out.println("Insert price:");
                double price = JDealsController.scan.nextDouble();
                JDealsController.scan.nextLine();

                switch (type) {
                    case GOODS:
                        System.out.println("Insert quantity:");
                        int avaibleItems = JDealsController.scan.nextInt();
                        JDealsController.scan.nextLine();
                        item = new GeneralGood(description, price, 0, avaibleItems, ((Manager) this.getSysCtrl().getCurUser()));
                        break;
                    case RESTOURANT:
                    case TRAVEL:
                        MyDate date = new MyDate();
                        System.out.println("Location:");
                        String location = JDealsController.scan.nextLine();

                        System.out.println("Expiry date " + date.getFormat());
                        MyDate expiryDate;
                        try {
                            expiryDate = date.fromString(JDealsController.scan
                                    .nextLine());
                        } catch (Exception e) {
                            e.printStackTrace();
                            return false;
                        }

                        if (type == ProductTypes.RESTOURANT) {
                            System.out.println("Insert event quantity:");
                            int avaibleEvents = JDealsController.scan.nextInt();
                            JDealsController.scan.nextLine();

                            System.out.println("Restourant name:");
                            String name = JDealsController.scan.nextLine();
                            item = new Restourant(name, description, price, 0,
                                    expiryDate, location, avaibleEvents);
                        } else {
                            System.out
                                    .println("Departure date " + date.getFormat());
                            try {
                                MyDate ddate = date.fromString(JDealsController.scan
                                        .nextLine());
                            } catch (Exception e) {
                                e.printStackTrace();
                                return false;
                            }
                            item = new Travel(price, 0,
                                    expiryDate, location, date);
                        }
                        break;
                    default:
                        return false;
                }

                try {
                    this.getSysCtrl().getStore().addItem(item);
                    System.out.println("Item successfully Added!");
                } catch (Exception e) {
                    System.out.println(e.getMessage());
                }

                return true;
            }