private void storeInfo(Data data) { locale = data.getLocale(); resourceBundle = ResourceBundle.getBundle("Bundle", locale); pizzaCost(data); drinksCost(data); bill.setTotalPrice(bill.getDrinksPrice() + bill.getPizzaPrice()); if (bill.getTotalPrice() == 0) { logger.error( resourceBundle.getString("orderFor") + bill.getTotalPrice() + resourceBundle.getString("thankYouForVisit")); System.out.println( resourceBundle.getString("orderFor") + bill.getTotalPrice() + resourceBundle.getString("thankYouForVisit")); } else { bill.setOrder(resourceBundle.getString("yourOrder")); check(data); weekends(data); setDiscount(data.getDiscount(), data); logger.info(resourceBundle.getString("finalPrice") + bill.getTotalPrice()); bill.setFinalPriceToString( resourceBundle.getString("finalPrice") + " " + String.format(" %.2f ", bill.getTotalPrice())); } }
private void drinksCost(Data data) { bill.setDrinks(data.getDrinks()); double drinksTotalPrice = 0; try { for (int i = 0; i < data.getDrinks().size(); i++) { drinksTotalPrice += data.getDrinks().get(i).getPrice(); } bill.setDrinksPrice(drinksTotalPrice); } catch (IndexOutOfBoundsException e) { logger.error(resourceBundle.getString("drinksError")); } }
private void pizzaCost(Data data) { bill.setPizzas(data.getPizzas()); double pizzaTotalPrice = 0; try { for (int i = 0; i < data.getPizzas().size(); i++) { pizzaTotalPrice += data.getPizzas().get(i).getPrice(); } bill.setPizzaPrice(pizzaTotalPrice); } catch (IndexOutOfBoundsException e) { logger.error(resourceBundle.getString("pizzaError")); } }
private void setDiscount(boolean discount, Data data) { double totalPrice = bill.getTotalPrice(); LocalDate date = data.getDate(); if ((date.equals(hollidayChristmas)) || (date.equals(hollidayIndepenanceDay)) || (date.equals(hollidayProgrammerDay))) { totalPrice *= 0.5; bill.setTotalPrice(totalPrice); discount = false; logger.info(resourceBundle.getString("economyHollidays") + bill.getTotalPrice()); bill.setHollidays( resourceBundle.getString("economyHollidays") + String.format(" %.2f ", bill.getTotalPrice())); } else { logger.info(resourceBundle.getString("noEconomy")); bill.setHollidays(resourceBundle.getString("noEconomy")); } if (discount == true) { double discountPay = bill.getTotalPrice() * 0.1; totalPrice *= 0.9; bill.setTotalPrice(totalPrice); logger.info(resourceBundle.getString("yourDiscount") + discountPay); bill.setDiscount( resourceBundle.getString("yourDiscount") + " " + String.format(" %.2f ", discountPay)); } else if (discount == false) { totalPrice *= 1; bill.setTotalPrice(totalPrice); logger.info(resourceBundle.getString("noDiscount")); bill.setDiscount(resourceBundle.getString("noDiscount")); } }
private void weekends(Data data) { LocalDate date = data.getDate(); double price = bill.getTotalPrice(); if (date.getDayOfWeek().equals(DayOfWeek.FRIDAY) || date.getDayOfWeek().equals(DayOfWeek.SATURDAY) || date.getDayOfWeek().equals(DayOfWeek.SUNDAY)) { double weekendsPay = 0.05 * bill.getTotalPrice(); price *= 1.05; bill.setTotalPrice(price); logger.info(resourceBundle.getString("payForWeekends") + weekendsPay); bill.setWeekends( resourceBundle.getString("payForWeekends") + " " + String.format(" %.2f", weekendsPay)); } }
private void check(Data data) { LocalDate date = data.getDate(); double price = bill.getTotalPrice(); if (date.getYear() > 2015 && date.getMonth().equals(Month.SEPTEMBER) && date.getDayOfMonth() < 8 && date.getDayOfWeek().equals(DayOfWeek.SATURDAY)) { price *= 1; bill.setTotalPrice(price); logger.info(resourceBundle.getString("noTips")); bill.setTips(resourceBundle.getString("noTips")); } else { double tips = 0.05 * bill.getTotalPrice(); price *= 1.05; bill.setTotalPrice(price); logger.info(resourceBundle.getString("payForTips") + tips); bill.setTips(resourceBundle.getString("payForTips") + " " + String.format(" %.2f ", tips)); } }