Advertisement
Guest User

Untitled

a guest
Apr 6th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. public void addNewEmployee() throws Exception {
  2. String[] AddressmethodNames = {"IsoCountryCode","Province","Street","Number","NumberSuffix","ZipCode","City"};
  3. String[] employeeMethods = {"FirstName","LastName","Title","Gender"};
  4. String[] accountMethods = {"Username"};
  5.  
  6. String title = titleCreateTextField.getText();
  7. String firstName = firstnameCreateTextField.getText();
  8. String lastName = nameCreateTextField.getText();
  9. Gender gender = Gender.fromString((String) genderCreateChoicebox.getValue());
  10. String street = streetCreateTextField.getText();
  11. Integer streetNumber = Integer.parseInt(streetNumberCreateTextField.getText(),10);
  12. String postalCode = zipCodeCreateTextField.getText();
  13. String numberSuffix = streetNumberSuffixCreateTextField.getText();
  14. String city = cityCreateTextField.getText();
  15. String isoCountryCode = isoCountryCodeCreateTextField.getText();
  16. String province = provinceCreateTextField.getText();
  17. String username = accountNameCreateTextField.getText();
  18. String password = passwordChangeCreateTextField.getText();
  19. String passwordControl = confirmPasswordCreateTextField.getText();
  20. boolean passwordCorrect = password.equals(passwordControl);
  21.  
  22.  
  23. Address address = new Address(street,streetNumber,numberSuffix,city,postalCode,isoCountryCode,province,new HashSet<>(),new HashSet<>());
  24. Employee employee = new Employee(title,firstName,lastName,address,new Date(),new Date(),gender);
  25. if(passwordCorrect) {
  26. Account account = new Account(username,password,employee);
  27.  
  28. List<SearchCriteria> accountCriterias = new ArrayList<>();
  29. List<SearchCriteria> employeeCriterias = new ArrayList<>();
  30. List<SearchCriteria> criterias = new ArrayList<>();
  31.  
  32.  
  33. for (String method : AddressmethodNames) {
  34. criterias.add(new SearchCriteria(method.toLowerCase(), SearchCriteria.SearchCriteriaOperator.EQUALS, address.getClass().getMethod("get" + method).invoke(address)));
  35. } for(String method : employeeMethods){
  36. employeeCriterias.add(new SearchCriteria(method.toLowerCase(), SearchCriteria.SearchCriteriaOperator.EQUALS,employee.getClass().getMethod("get" + method).invoke(employee)));
  37. } for(String method : accountMethods){
  38. accountCriterias.add(new SearchCriteria(method.toLowerCase(), SearchCriteria.SearchCriteriaOperator.EQUALS,account.getClass().getMethod("get"+method).invoke(account)));
  39. }
  40.  
  41. List<HibernateAddress> addressResult = (List<HibernateAddress>) new Address().searchBy(criterias, HibernateUtil.getSession());
  42. List<HibernateEmployee> employeeResult = (List<HibernateEmployee>) new Employee().searchBy(employeeCriterias,HibernateUtil.getSession());
  43. List<HibernateAccount> accountResult = (List<HibernateAccount>) new Account().searchBy(accountCriterias,HibernateUtil.getSession());
  44.  
  45. if (addressResult.isEmpty() && employeeResult.isEmpty() && accountResult.isEmpty()) {
  46. Address myAddress = basicFunctionality.addNewAddress(street, streetNumber, numberSuffix, city, postalCode, isoCountryCode, province);
  47. Employee newEmployee = basicFunctionality.addNewEmployee(title, firstName, lastName, myAddress, new Date(), new Date(), gender);
  48. basicFunctionality.addNewAccount(username,password,newEmployee);
  49. } else if(addressResult.size() == 1 && accountResult.isEmpty() && employeeResult.isEmpty()){
  50.  
  51. Employee employee1 = basicFunctionality.addNewEmployee(title, firstName, lastName, DaoUtil.toDao(addressResult.get(0)), new Date(), new Date(), gender);
  52. basicFunctionality.addNewAccount(username,password,employee1);
  53. } else if(!employeeResult.isEmpty()){
  54. infoBox("Es existiert bereits ein Mitarbeiter mit diesem Namen","Mitarbeiter nicht angelegt",null);
  55. } else if(!accountResult.isEmpty()){
  56. infoBox("Es existiert bereits ein Account mit diesem Usernamen","Account nicht angelegt",null);
  57. } else if(addressResult.size() > 1){
  58. infoBox("Es existieren mehrere identische Adressen","Adresse zu oft in Datenbank",null);
  59. }
  60. } else{
  61. infoBox("Passwoerter stimmen nicht ueberein.","nicht angelegt",null);
  62. }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement