public async Task <ObterServicosAgendadosResult> Execute(ObterServicosAgendadosParameter parameter) { var servicos = await _servicoRepository.ObterServicosAgendadosDia(parameter.Data); var servicosModel = _mapper.Map <IEnumerable <AgendaServicoListaModel> >(servicos); return(new ObterServicosAgendadosResult { ServicosAgendados = servicosModel }); }
public async Task <ObterHorariosProfissionalResult> Execute(ObterHorariosProfissionalParameter parameter) { int diaSemana = (int)parameter.Dia.DayOfWeek + 1; var dispobilidades = (await _funcionarioRepository.GetDisponibilidade(parameter.FuncionarioId)).Where(x => x.DiaSemana == diaSemana); var horariosAgendados = (await _servicoRepository.ObterServicosAgendadosDia(parameter.Dia)).Where(x => x.FuncionarioId == parameter.FuncionarioId).Select(x => x.DataRealizacao.TimeOfDay); var result = new List <string>(); var disponibilidadesValidas = dispobilidades.Where(x => !horariosAgendados.Contains(x.HorarioInicio)).ToList(); disponibilidadesValidas.ForEach(x => result.Add($"{x.HorarioInicio} - {x.HorarioFim}")); return(new ObterHorariosProfissionalResult { Horarios = result }); }