Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package com.example.fryzjer.Fryzjer.ui;
- import com.example.fryzjer.Fryzjer.models.Barber;
- import com.example.fryzjer.Fryzjer.models.Customer;
- import com.example.fryzjer.Fryzjer.models.Visit;
- import com.example.fryzjer.Fryzjer.repository.BarberRepository;
- import com.example.fryzjer.Fryzjer.repository.CustomerRepository;
- import com.example.fryzjer.Fryzjer.repository.VisitRepository;
- import com.vaadin.server.VaadinRequest;
- import com.vaadin.spring.annotation.SpringUI;
- import com.vaadin.ui.Button;
- import com.vaadin.ui.ComboBox;
- import com.vaadin.ui.DateTimeField;
- import com.vaadin.ui.FormLayout;
- import com.vaadin.ui.HorizontalLayout;
- import com.vaadin.ui.Notification;
- import com.vaadin.ui.TextField;
- import com.vaadin.ui.UI;
- import java.time.LocalDateTime;
- import java.time.LocalTime;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- import org.springframework.beans.factory.annotation.Autowired;
- /**
- *
- * @author Bartosz
- */
- @SpringUI(path = "")
- public class MainUI extends UI{
- @Autowired
- private VisitRepository visitRepository;
- @Autowired
- private BarberRepository barberRepository;
- @Autowired
- private CustomerRepository customerRepository;
- @Override
- protected void init(VaadinRequest request) {
- visitRepository.findAll().stream()
- .collect(Collectors.toList());
- HorizontalLayout root = new HorizontalLayout();
- root.setSizeFull();
- TextField name = new TextField("Name:");
- TextField surname = new TextField("Surname:");
- Button makeVisit = new Button("Create visit");
- List<String> timeOfVisit = new ArrayList<>();
- timeOfVisit.add("15 Minutes");
- timeOfVisit.add("1 Hour");
- timeOfVisit.add("3 Hours");
- ComboBox<String> comboBoxMinutes = new ComboBox<>("Time");
- comboBoxMinutes.setTextInputAllowed(false);
- comboBoxMinutes.setEmptySelectionAllowed(false);
- comboBoxMinutes.setItems(timeOfVisit);
- ComboBox<String> comboBoxBarber = new ComboBox<>("Barbers");
- comboBoxBarber.setTextInputAllowed(false);
- comboBoxBarber.setEmptySelectionAllowed(false);
- DateTimeField dateOfVisit = new DateTimeField("Date of visit:");
- List <Barber> basicBarberList = barberRepository.findAll();
- List<String> basicBarberSurnameList = new ArrayList<>();
- basicBarberList.forEach((x) -> {
- basicBarberSurnameList.add(x.getSurname());
- });
- comboBoxBarber.setItems(basicBarberSurnameList);
- makeVisit.addClickListener((Button.ClickEvent event)->{
- boolean flag = true;
- String addedTime = comboBoxMinutes.getValue();
- String n = name.getValue();
- String s = surname.getValue();
- LocalTime timeAndDateOfVisit = dateOfVisit.getValue().toLocalTime();
- List<Visit> currentVisits = visitRepository.findAll();
- List<Barber> choosenBarber = barberRepository.findAll()
- .stream()
- .filter(barber -> barber.getSurname().equals(comboBoxBarber.getValue()))
- .collect(Collectors.toList());
- Customer cust = new Customer(0l, n, s);
- cust = customerRepository.save(cust);
- for(Visit visit:currentVisits){
- if(timeAndDateOfVisit.isAfter(visit.getEndOfVisit())){
- flag = false;
- }else if(timeAndDateOfVisit.isBefore(visit.getEndOfVisit())){
- if(addedTime == "1 Hour"){
- if(timeAndDateOfVisit.plusHours(1).isBefore(visit.getDateOfVisit())){
- flag = false;
- }
- }else if(addedTime == "3 Hour"){
- if(timeAndDateOfVisit.plusHours(3).isBefore(visit.getDateOfVisit())){
- flag = false;
- }
- }else{
- if(timeAndDateOfVisit.plusMinutes(15).isBefore(visit.getDateOfVisit())){
- flag = false;
- }
- }
- }
- }
- if(!flag){
- if(addedTime == "1 Hour"){
- Visit vis = new Visit(0l, choosenBarber.get(0), cust, timeAndDateOfVisit, timeAndDateOfVisit.plusHours(1));
- vis = visitRepository.save(vis);
- }else if(addedTime == "3 Hours"){
- Visit vis = new Visit(0l, choosenBarber.get(0), cust, timeAndDateOfVisit, timeAndDateOfVisit.plusHours(3));
- vis = visitRepository.save(vis);
- }else{
- Visit vis = new Visit(0l, choosenBarber.get(0), cust, timeAndDateOfVisit, timeAndDateOfVisit.plusMinutes(15));
- vis = visitRepository.save(vis);
- }
- }
- });
- FormLayout form = new FormLayout();
- form.addComponents(name, surname, comboBoxMinutes, comboBoxBarber, dateOfVisit, makeVisit);
- root.addComponent(form);
- setContent(root);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement