List of usage examples for org.joda.time LocalDate plusDays
public LocalDate plusDays(int days)
From source file:vn.webapp.controller.cp.RoomsController.java
@RequestMapping(value = "edit-a-room-loan", method = RequestMethod.POST) public String editARoomLoan(HttpServletRequest request, @Valid @ModelAttribute("roomLoanFormEdit") RoomLoanValidation roomLoanValidation, BindingResult result, Map model, HttpSession session) { if (result.hasErrors()) { List<AcademicYear> academicYearList = academicYearService.list(); AcademicYear curAcadYear = academicYearService.getCurAcadYear(); List<AcademicYear> otherAcadYearList = new ArrayList<AcademicYear>(); for (AcademicYear aY : academicYearList) { if (!aY.getACAYEAR_Code().equals(curAcadYear.getACAYEAR_Code())) otherAcadYearList.add(aY); }//from ww w. j a v a 2 s .c o m RoomLoan roomLoan = roomLoanService.loadByID(roomLoanValidation.getRoomLoanID()); model.put("roomLoan", roomLoan); model.put("academicYearList", otherAcadYearList); model.put("curAcadYear", curAcadYear); return "cp.editRoomLoan"; } else { String academicYear = roomLoanValidation.getAcademicYear(); String dateString = roomLoanValidation.getDayMonthYearInput_day(); String dayString = roomLoanValidation.getDayWeekInput_day(); String weekString = roomLoanValidation.getDayWeekInput_week(); String room = roomLoanValidation.getRoomCode(); String slotStart = roomLoanValidation.getSlotStart(); String slotEnd = roomLoanValidation.getSlotEnd(); /* Convert date to day and week */ List<AcademicYear> academicYearList = academicYearService.list(); String firstdateStr = ""; String enddateStr = ""; for (AcademicYear aY : academicYearList) { if (aY.getACAYEAR_Code().equals(academicYear)) { firstdateStr = aY.getACAYEAR_FromDate(); enddateStr = aY.getACAYEAR_ToDate(); break; } } DateTimeFormatter fmt = DateTimeFormat.forPattern("dd-MM-yyyy"); LocalDate firstdate = fmt.parseLocalDate(firstdateStr); LocalDate enddate = fmt.parseLocalDate(enddateStr); if (!dateString.equals("")) { LocalDate querydate = fmt.parseLocalDate(dateString); int dayNum = Days.daysBetween(firstdate, querydate).getDays(); int dayNum1 = Days.daysBetween(querydate, enddate).getDays(); if ((dayNum <= 0) || (Days.daysBetween(querydate, enddate).getDays() < 0)) { session.setAttribute("errorEditARoomLoanFwd", "Ngy bn nhp khng c trong nm h?c. Hy ch?n ngy hp l!"); return "redirect:" + this.baseUrl + "/cp/EditRoomLoan/" + roomLoanValidation.getRoomLoanID() + ".html"; } dayString = Integer.toString(querydate.getDayOfWeek() + 1); if (dayString.equals("8")) dayString = "Ch nht"; weekString = Integer.toString(dayNum / 7 + 1); roomLoanValidation.setDayWeekInput_day(dayString); roomLoanValidation.setDayWeekInput_week(weekString); } else if (!(dayString.equals("") || weekString.equals(""))) { try { if (dayString.equals("Ch nht")) dayString = "8"; LocalDate querydate = firstdate .plusDays(7 * (Integer.parseInt(weekString) - 1) + Integer.parseInt(dayString) - 2); roomLoanValidation.setDayMonthYearInput_day(querydate.toString()); } catch (Exception e) { roomLoanValidation.setDayMonthYearInput_day("Nhi?u ngy"); } } else { //model.put("status", "Khng th sa thng tin mn phng " + roomLoanValidation.getRoomCode()+" v thiu thng tin ngy thng mn phng"); session.setAttribute("errorEditARoomLoanFwd", "Khng th sa thng tin mn phng " + roomLoanValidation.getRoomCode() + " v thiu thng tin ngy thng mn phng. Hy sa li thng tin!"); return "redirect:" + this.baseUrl + "/cp/EditRoomLoan/" + roomLoanValidation.getRoomLoanID() + ".html"; } if (roomsService.loadByCode(room) == null) { session.setAttribute("errorEditARoomLoanFwd", "M phng " + room + " khng c trong c s d liu phng. Hy kim tra li!"); return "redirect:" + this.baseUrl + "/cp/EditRoomLoan/" + roomLoanValidation.getRoomLoanID() + ".html"; } try { String RL_Code = roomLoanValidation.getRoomCode() + "-" + roomLoanValidation.getAcademicYear() + "-" + roomLoanValidation.getDayWeekInput_week() + "-" + roomLoanValidation.getDayWeekInput_day(); RoomLoan roomLoan = roomLoanService.loadByID(roomLoanValidation.getRoomLoanID()); if (roomLoan != null) if (roomLoanValidation.getNote().isEmpty()) roomLoanValidation.setNote(roomLoan.getRL_Note()); roomLoanService.edit(roomLoanValidation.getRoomLoanID(), roomLoanValidation.getRoomCode(), roomLoanValidation.getDayWeekInput_day(), roomLoanValidation.getDayWeekInput_week(), roomLoanValidation.getAcademicYear(), roomLoanValidation.getDayMonthYearInput_day(), roomLoanValidation.getSlotStart() + "-" + roomLoanValidation.getSlotEnd(), roomLoanValidation.getNote()); return "redirect:" + this.baseUrl + "/cp/RoomLoans.html"; } catch (Exception e) { model.put("status", "You failed to edit room loan for" + roomLoanValidation.getRoomCode()); } } return "cp.editRoomLoan"; }