@RequestMapping(value = "/contact/edit", method = RequestMethod.GET) public String edit(@RequestParam("id") int id, Model model) throws ParseException { Constant.clearErrorList(); System.out.println("EditController: Passing through... "); Contact contact = ContactsDAO.readContact(id); System.out.println("Edit Contact : " + contact); if (contact == null) { Constant.addError("Le contact n°" + id + " n'existe pas !"); return "/WEB-INF/views/list.jsp"; } List<Adresse> adresses = ContactsDAO.readAllAdresse(id); model.addAttribute("contact", contact); model.addAttribute("adresses", adresses); model.addAttribute("user_action", "edit"); Calendar cal = Calendar.getInstance(); cal.setTime(contact.getDate()); model.addAttribute("dayParam", String.valueOf(cal.get(Calendar.DAY_OF_MONTH))); model.addAttribute("monthParam", convertMonth(cal.get(Calendar.MONTH) + 1)); model.addAttribute("yearParam", cal.get(Calendar.YEAR)); return "/WEB-INF/views/create.jsp"; }
@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); } } }
@RequestMapping(value = "/contact/adresse/delete", method = RequestMethod.GET) public String deleteAdresse( @RequestParam("id") int id, @RequestParam("idAdresse") int idAdresse) { ContactsDAO.deleteAdresse(id, idAdresse); return "redirect:/contact?id=" + id; }
@Override public void removeRequest(Requests request) { if (null != request) { org.hibernate.Session sess = sessionFactory.getCurrentSession(); request = (Requests) sess.get(Requests.class, request.getId()); List<Contacts> contTemp = request.getContacts(); List<Products> prodTemp = request.getProducts(); if (contTemp != null && contTemp.size() != 0) { sess.enableFetchProfile("requests-with-products"); contTemp = contactsDAO.getFromProxy(contTemp); for (Contacts contact : contTemp) { contact.getConnectedRequests().remove(request); sess.update(contact); } } if (prodTemp != null && prodTemp.size() != 0) { sess.enableFetchProfile("requests-with-products"); prodTemp = productsDAO.getFromProxy(prodTemp); for (Products product : prodTemp) { product.getRequestsForProduct().remove(request); sess.update(product); } } sess.update(request); sessionFactory.getCurrentSession().delete(request); } }
@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); } } }
@RequestMapping(value = "/contact/adresse/edit") public String editAdresse( @ModelAttribute("contact") Contact contact, @RequestParam("id") int idContact, @RequestParam("idAdresse") int idAdresse, Model model) throws ParseException { System.out.println("EditController ADRESSE: Passing through... "); contact = ContactsDAO.readContact(idContact); System.out.println("Edit Contact : " + contact); if (contact == null) { Constant.addError("Le contact n°" + idContact + " n'existe pas !"); return "redirect:/list"; } Adresse adresse = ContactsDAO.readAdresse(idContact, idAdresse); model.addAttribute("contact", contact); model.addAttribute("adresse", adresse); model.addAttribute("user_action", "update"); model.addAttribute("errors", Constant.errorList); return "/WEB-INF/views/adresseform.jsp"; }
@Override public void removeTask(Daily task) { if (null != task) { org.hibernate.Session sess = sessionFactory.getCurrentSession(); task = (Daily) sess.get(Daily.class, task.getId()); List<Events> temp = task.getEventsConnectedWithTask(); List<Calls> temp2 = task.getCallsConnectedWithTask(); List<Contacts> temp3 = task.getContactsConnectedWithTask(); if (temp != null && temp.size() != 0) { sess.enableFetchProfile("tasks-with-events"); temp = eventsDAO.getFromProxy(temp); for (Events event : temp) { event.getConnectedTasks().remove(task); sess.update(event); } } if (temp2 != null && temp2.size() != 0) { sess.enableFetchProfile("tasks-with-calls"); temp2 = callsDAO.getFromProxy(temp2); for (Calls call : temp2) { call.getTasks().remove(task); sess.update(call); } } if (temp3 != null && temp3.size() != 0) { sess.enableFetchProfile("tasks-with-contacts"); temp3 = contactsDAO.getFromProxy(temp3); for (Contacts contact : temp3) { contact.getTasks().remove(task); sess.update(contact); } } sess.update(task); sessionFactory.getCurrentSession().delete(task); } }
@RequestMapping(value = "/contact/delete", method = RequestMethod.GET) public String deleteContact(@RequestParam("id") int id) { ContactsDAO.deleteContact(id); return "redirect:/list"; }