@Transactional(readOnly = true) public Customer getCustomerAndCheckDeletability(Integer customerId) { Customer customer = customerDAO.findById(customerId); boolean canDelete = !(customer.getProjects() != null && !customer.getProjects().isEmpty()); customer.setDeletable(canDelete); return customer; }
/** * full constructor */ public Customer(Customer customer) { this.customerId = customer.getCustomerId(); this.code = customer.getCode(); this.name = customer.getName(); this.description = customer.getDescription(); this.active = customer.isActive(); }
@Test public void shouldPersist() { Customer customer = CustomerObjectMother.createCustomer(); customer.setName("aa"); customer.setCode("bb"); customer.setCustomerId(null); customerDao.persist(customer); assertNotNull(customer.getCustomerId()); }
@Test public void should_delete_customer_with_projects_throw_a_constraint_violation() { Customer cust = new Customer(); Project proj = new Project(); Set<Project> projs = new HashSet<>(); proj.setProjectId(1); cust.setCustomerId(1); projs.add(proj); cust.setProjects(projs); when(customerDAO.findById(1)).thenReturn(cust); try { customerService.deleteCustomer(1); fail("no ParentChildConstraintException thrown"); } catch (ParentChildConstraintException e) { } }
public static FlatReportElement buildFlatReportElement(ProjectAssignment assignment) { FlatReportElement element = new FlatReportElement(); element.setAssignmentId(assignment.getAssignmentId()); element.setRole(assignment.getRole()); Project project = assignment.getProject(); Customer customer = project.getCustomer(); element.setCustomerCode(customer.getCode()); element.setCustomerId(customer.getCustomerId()); element.setCustomerName(customer.getName()); element.setEmptyEntry(true); element.setProjectCode(project.getProjectCode()); element.setProjectId(project.getProjectId()); element.setProjectName(project.getName()); element.setRate(assignment.getHourlyRate()); User user = assignment.getUser(); element.setUserId(user.getUserId()); element.setUserFirstName(user.getFirstName()); element.setUserLastName(user.getLastName()); element.setDisplayOrder(1); return element; } }
@Test public void shouldPersist() { Customer customer = CustomerObjectMother.createCustomer(); customer.setCustomerId(10); customer.getProjects().clear(); Project project = ProjectObjectMother.createProject(null, customer); Project prj = projectDAO.persist(project); Assert.assertNotNull(prj.getProjectId()); }
/** * @see java.lang.Comparable#compareTo(Object) */ public int compareTo(Customer object) { return new CompareToBuilder() .append(this.getNameLowerCase(), object.getNameLowerCase()) .append(this.getCodeLowerCase(), object.getCodeLowerCase()) .append(this.getCustomerId(), object.getCustomerId()).toComparison(); }
/** * Get only active projects * * @return */ public Set<Project> getActiveProjects() { Set<Project> activeProjects = new HashSet<>(); if (getProjects() != null) { for (Project project : getProjects()) { if (project.isActive()) { activeProjects.add(project); } } } return activeProjects; }
private List<Project> getBillableProjects(UserSelectedCriteria criteria) { List<Project> projects = criteria.isOnlyActiveProjects() ? projectDao.findAllActive() : projectDao.findAll(); List<Project> filteredProjects = Lists.newArrayList(); for (Project project : projects) { boolean billableFilter = project.isBillable(); boolean customerFilter = !criteria.isOnlyActiveCustomers() || project.getCustomer().isActive(); if (billableFilter && customerFilter) { filteredProjects.add(project); } } return filteredProjects; } }
/** * Compare first on customer name, if the same, use the project name * @param o1 * @param o2 * @return */ private int compareCustomerStartDateProject(ProjectAssignment o1, ProjectAssignment o2) { int cmp; cmp = o1.getProject().getCustomer().getName().compareToIgnoreCase(o2.getProject().getCustomer().getName()); if (cmp == 0) { cmp = compareDateStart(o1, o2); if (cmp == 0) { cmp = compareNames(o1, o2); } } return cmp; } /**
@Auditable(actionType = AuditActionType.DELETE) @Transactional public void deleteCustomer(Integer customerId) throws ParentChildConstraintException { Customer customer = customerDAO.findById(customerId); LOGGER.info("Deleting customer: " + customer); if (customer != null) { if (customer.getProjects() != null && !customer.getProjects().isEmpty()) { throw new ParentChildConstraintException(customer.getProjects().size() + " projects attached to client"); } else { try { customerDAO.delete(customer); } catch (DataIntegrityViolationException cve) { throw new ParentChildConstraintException(cve); } } } }
public String getFullNameWithCustomer() { return getCustomer().getCode() + ": " + ((StringUtils.isBlank(projectCode)) ? name : projectCode + " - " + name); }