public async Task <IActionResult> Details(Guid id) { var servicoViewModel = _mapper.Map <ServicoViewModel>(await _contexto.ObterPorId(id)); if (servicoViewModel == null) { return(NotFound()); } return(View(servicoViewModel)); }
public async Task <ResultDto <ServicoDto> > ObterPorId(int servicoId) { var servico = await _servicoRepository.ObterPorId(servicoId); if (servico == null) { return(await Task.FromResult(ResultDto <ServicoDto> .Validation("Serviço não encontrado na base de dados!"))); } var servicoDto = _mapper.Map <Servico, ServicoDto>(servico); return(await Task.FromResult(ResultDto <ServicoDto> .Success(servicoDto))); }
public async Task <ResultDto <IEnumerable <HorarioDisponivelDto> > > ObterHorariosDisponiveis(string dataAgendamentoStr, int estabelecimentoId, int servicoId) { var dataAgendamento = DateTime.Parse(dataAgendamentoStr); var agendamentos = await _agendamentoRepository.ObterAgendamentosPorEstabelecimentoEData(dataAgendamento, estabelecimentoId); var servico = await _servicoRepository.ObterPorId(servicoId); var dataHoraInicial = new DateTime(dataAgendamento.Year, dataAgendamento.Month, dataAgendamento.Day, 5, 0, 0); var dataHoraFinal = new DateTime(dataAgendamento.Year, dataAgendamento.Month, dataAgendamento.Day, 22, 0, 0); var horarios = new List <HorarioDisponivelDto>(); while (dataHoraInicial < dataHoraFinal) { var dataHoraDuracao = dataHoraInicial.AddMinutes(servico.Duracao); var agendamento = agendamentos.FirstOrDefault(x => (dataHoraInicial >= x.DataAgendamento && dataHoraInicial < x.DataFinalAgendamento) || (dataHoraDuracao > x.DataAgendamento && dataHoraDuracao <= x.DataFinalAgendamento)); if (agendamento == null) { var horarioDisponivelDto = new HorarioDisponivelDto() { DataAgendamento = dataHoraInicial, DataAgendamentoStr = dataHoraInicial.ToString("dd/MM/yyyy HH:mm"), HorarioInicial = dataHoraInicial.ToString("HH:mm"), HorarioFinal = dataHoraDuracao.ToString("HH:mm") }; horarios.Add(horarioDisponivelDto); dataHoraInicial = dataHoraDuracao; } else { dataHoraInicial = agendamento.DataFinalAgendamento; } } return(await Task.FromResult(ResultDto <IEnumerable <HorarioDisponivelDto> > .Success(horarios))); }
public Servico ObterPorId(int id) { return(_servicoRepository.ObterPorId(id)); }
private async Task <ServicoViewModel> ObterServicoPorId(Guid id) { return(_mapper.Map <ServicoViewModel>(await _servicoRepository.ObterPorId(id))); }