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 boolean executeFreeDaysJson(ProfessionalDTO professionalDTO) { // requisicao de banco para recuperar lista de dias livres, para mostrar no calendario /* //precisa recuperar servicos para calcular tempo livre ServiceService serviceService = new ServiceService(); selectedProfServiceDTOList = new ArrayList<>(); try { selectedProfServiceDTOList.clear(); selectedProfServiceDTOList = serviceService.findAllByProfessionalId(professionalDTO.getId()); } catch (Exception e) { e.printStackTrace(); Log.i("doInBackground", "Não conseguiu executar TaskRetrieveFreeDays, erro ao recuperar serviceDTOList"); return false; } //recupera os dias disponiveis selectedProfFreeDailyScheduleDTOList = FreeTimeCalculator.getFreeDatesFromProfessional(professionalDTO, selectedProfServiceDTOList); if (selectedProfFreeDailyScheduleDTOList == null) { Log.i("doInBackground", "Não conseguiu executar TaskRetrieveFreeDays, erro ao recuperar selectedProfFreeDailyScheduleDTOList"); selectedProfFreeDailyScheduleDTOList = new ArrayList<>(); return false; }*/ DailyScheduleService dailyScheduleService = new DailyScheduleService(); selectedProfFreeCalendars = new ArrayList<>(); try { selectedProfFreeCalendars = dailyScheduleService.findAvailableDatesToScheduling(professionalDTO.getId()); } catch (Exception e) { e.printStackTrace(); Log.i( "doInBackground", "Não conseguiu executar TaskRetrieveFreeDays, erro ao recuperar selectedProfFreeCalendars"); return false; } return true; }