@Override public void addRequest(Requests request) { sessionFactory.getCurrentSession().save(request); List<Contacts> contTemp = request.getContacts(); List<Products> prodTemp = request.getProducts(); if (contTemp != null && contTemp.size() != 0) { org.hibernate.Session sess = sessionFactory.getCurrentSession(); sess.enableFetchProfile("requests-with-products"); contTemp = contactsDAO.getFromProxy(contTemp); for (Contacts contact : contTemp) { contact.getConnectedRequests().add(request); contactsDAO.changeContact(contact); } } if (prodTemp != null && prodTemp.size() != 0) { org.hibernate.Session sess = sessionFactory.getCurrentSession(); sess.enableFetchProfile("requests-with-products"); prodTemp = productsDAO.getFromProxy(prodTemp); for (Products product : prodTemp) { product.getRequestsForProduct().add(request); productsDAO.changeProduct(product); } } }
@Override public void addTask(Daily task) { sessionFactory.getCurrentSession().save(task); List<Events> temp = task.getEventsConnectedWithTask(); List<Calls> temp2 = task.getCallsConnectedWithTask(); List<Contacts> temp3 = task.getContactsConnectedWithTask(); if (temp != null && temp.size() != 0) { org.hibernate.Session sess = sessionFactory.getCurrentSession(); sess.enableFetchProfile("tasks-with-events"); temp = eventsDAO.getFromProxy(temp); for (Events event : temp) { event.getConnectedTasks().add(task); eventsDAO.changeEvent(event); } } if (temp2 != null && temp2.size() != 0) { org.hibernate.Session sess = sessionFactory.getCurrentSession(); sess.enableFetchProfile("tasks-with-calls"); temp2 = callsDAO.getFromProxy(temp2); for (Calls call : temp2) { call.getTasks().add(task); callsDAO.changeCall(call); } } if (temp3 != null && temp3.size() != 0) { org.hibernate.Session sess = sessionFactory.getCurrentSession(); sess.enableFetchProfile("tasks-with-contacts"); temp3 = contactsDAO.getFromProxy(temp3); for (Contacts contact : temp3) { contact.getTasks().add(task); contactsDAO.changeContact(contact); } } }