private boolean validateUtilDateAndProfessional(Date date, ProfessionalDTO professionalDTO) { // recupera dailySchedule para verificar se o o dia é util para o profissional if (date != null && professionalDTO != null) { Calendar toValidateCal = Calendar.getInstance(TimeZone.getDefault()); toValidateCal.setTime(date); System.out.println( "Validando profissional " + professionalDTO.getName() + " na data de " + toValidateCal); if (selectedDateFreeProfessionalDTOSet.contains(professionalDTO)) { // se o profissional selecionado estiver na lista de profissionais livres alimenta // professionalForSchedule // for (ProfessionalForSchedule professionalForSchedule : selectedDateFreeFullProfList) { // if (professionalForSchedule.getProfessionalDTO().getId().equals(professionalDTO.getId())) // { // initFinishVariables(professionalForSchedule, toValidateCal); // System.out.println("Validado profissional pelo selectedDateFreeProfessionalDTOSet"); // return true; // } // } initFinishVariables(professionalDTO, toValidateCal); return true; } else if (selectedProfFreeCalendars != null) { // se a lista de dias livres do profissional selecionado foi igual a data selecionada, // alimenta professionalForSchedule for (Calendar freeCalendar : selectedProfFreeCalendars) { if (DateUtilMoti.isSameDay(freeCalendar, toValidateCal) && selectedProfessionalDTO .getId() .equals( professionalDTO .getId())) // todo Falta verificar a veracidade do profissional com a // data??? { // ProfessionalForSchedule professionalForSchedule = new // ProfessionalForSchedule(dailyScheduleDTO.getProfessional(), // selectedProfServiceDTOList, dailyScheduleDTOs); initFinishVariables(professionalDTO, toValidateCal); System.out.println("Validado profissional pelo selectedProfFreeDailyScheduleDTOList"); return true; } } } } return false; }
private void highlightDailyScheduleList(List<Calendar> freeCalendars) { // marca os dias livres e rearruma a lista de profissionais if (freeCalendars != null) { screenCalendar.clearHighlightedDates(); professionalAdapter.clearAvailableMarks(); professionalAdapter.removeMark(professionalLV.getCheckedItemPosition()); System.out.println(professionalLV.getCheckedItemPosition()); if (selectedDate != null) { // Toast.makeText(getActivity(), selectedProfessionalDTO.getName() + " não está livre no dia // selecionado.", Toast.LENGTH_LONG).show(); clearSelectedDate(); } Collection<Date> freeDatesCollection = new ArrayList<>(); for (Calendar freeCalendar : freeCalendars) { freeDatesCollection.add(DateUtilMoti.convertCalendarToDate(freeCalendar)); } screenCalendar.highlightDates(freeDatesCollection); if (freeDatesCollection.size() <= 0) Toast.makeText(getContext(), "Profissional sem dias livres", Toast.LENGTH_SHORT).show(); } finishUpViewLoad(); }