Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void addNewEmployee() throws Exception {
- String[] AddressmethodNames = {"IsoCountryCode","Province","Street","Number","NumberSuffix","ZipCode","City"};
- String[] employeeMethods = {"FirstName","LastName","Title","Gender"};
- String[] accountMethods = {"Username"};
- String title = titleCreateTextField.getText();
- String firstName = firstnameCreateTextField.getText();
- String lastName = nameCreateTextField.getText();
- Gender gender = Gender.fromString((String) genderCreateChoicebox.getValue());
- String street = streetCreateTextField.getText();
- Integer streetNumber = Integer.parseInt(streetNumberCreateTextField.getText(),10);
- String postalCode = zipCodeCreateTextField.getText();
- String numberSuffix = streetNumberSuffixCreateTextField.getText();
- String city = cityCreateTextField.getText();
- String isoCountryCode = isoCountryCodeCreateTextField.getText();
- String province = provinceCreateTextField.getText();
- String username = accountNameCreateTextField.getText();
- String password = passwordChangeCreateTextField.getText();
- String passwordControl = confirmPasswordCreateTextField.getText();
- boolean passwordCorrect = password.equals(passwordControl);
- Address address = new Address(street,streetNumber,numberSuffix,city,postalCode,isoCountryCode,province,new HashSet<>(),new HashSet<>());
- Employee employee = new Employee(title,firstName,lastName,address,new Date(),new Date(),gender);
- if(passwordCorrect) {
- Account account = new Account(username,password,employee);
- List<SearchCriteria> accountCriterias = new ArrayList<>();
- List<SearchCriteria> employeeCriterias = new ArrayList<>();
- List<SearchCriteria> criterias = new ArrayList<>();
- for (String method : AddressmethodNames) {
- criterias.add(new SearchCriteria(method.toLowerCase(), SearchCriteria.SearchCriteriaOperator.EQUALS, address.getClass().getMethod("get" + method).invoke(address)));
- } for(String method : employeeMethods){
- employeeCriterias.add(new SearchCriteria(method.toLowerCase(), SearchCriteria.SearchCriteriaOperator.EQUALS,employee.getClass().getMethod("get" + method).invoke(employee)));
- } for(String method : accountMethods){
- accountCriterias.add(new SearchCriteria(method.toLowerCase(), SearchCriteria.SearchCriteriaOperator.EQUALS,account.getClass().getMethod("get"+method).invoke(account)));
- }
- List<HibernateAddress> addressResult = (List<HibernateAddress>) new Address().searchBy(criterias, HibernateUtil.getSession());
- List<HibernateEmployee> employeeResult = (List<HibernateEmployee>) new Employee().searchBy(employeeCriterias,HibernateUtil.getSession());
- List<HibernateAccount> accountResult = (List<HibernateAccount>) new Account().searchBy(accountCriterias,HibernateUtil.getSession());
- if (addressResult.isEmpty() && employeeResult.isEmpty() && accountResult.isEmpty()) {
- Address myAddress = basicFunctionality.addNewAddress(street, streetNumber, numberSuffix, city, postalCode, isoCountryCode, province);
- Employee newEmployee = basicFunctionality.addNewEmployee(title, firstName, lastName, myAddress, new Date(), new Date(), gender);
- basicFunctionality.addNewAccount(username,password,newEmployee);
- } else if(addressResult.size() == 1 && accountResult.isEmpty() && employeeResult.isEmpty()){
- Employee employee1 = basicFunctionality.addNewEmployee(title, firstName, lastName, DaoUtil.toDao(addressResult.get(0)), new Date(), new Date(), gender);
- basicFunctionality.addNewAccount(username,password,employee1);
- } else if(!employeeResult.isEmpty()){
- infoBox("Es existiert bereits ein Mitarbeiter mit diesem Namen","Mitarbeiter nicht angelegt",null);
- } else if(!accountResult.isEmpty()){
- infoBox("Es existiert bereits ein Account mit diesem Usernamen","Account nicht angelegt",null);
- } else if(addressResult.size() > 1){
- infoBox("Es existieren mehrere identische Adressen","Adresse zu oft in Datenbank",null);
- }
- } else{
- infoBox("Passwoerter stimmen nicht ueberein.","nicht angelegt",null);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement