public async Task <ResultDto <AtendimentoDto> > Create(AtendimentoDto atendimentoDto) { var atendimentoDtoValidate = new AtendimentoDtoValidate(atendimentoDto); if (!atendimentoDtoValidate.Validate()) { return(await Task.FromResult(ResultDto <AtendimentoDto> .Validation(atendimentoDtoValidate.Mensagens))); } var atendimento = _mapper.Map <Atendimento>(atendimentoDto); atendimento.SituacaoId = (int)ESituacao.PENDENTE; atendimento.DataCadastro = DateTime.Now; await _atendimentoRepository.Create(atendimento); if (atendimentoDto.AgendamentoId.HasValue) { var agendamento = await _agendamentoRepository.ObterPorId(atendimentoDto.AgendamentoId.Value); agendamento.FinalizarAgendamento(); await _agendamentoRepository.Update(agendamento); } return(await Task.FromResult(ResultDto <AtendimentoDto> .Success(_mapper.Map <AtendimentoDto>(atendimento)))); }
public async Task <ResultDto <bool> > Update(AtendimentoDto atendimentoDto) { var atendimentoDtoValidate = new AtendimentoDtoValidate(atendimentoDto); if (!atendimentoDtoValidate.Validate()) { return(await Task.FromResult(ResultDto <bool> .Validation(atendimentoDtoValidate.Mensagens))); } var atendimento = await _atendimentoRepository.ObterPorId(atendimentoDto.AtendimentoId); atendimento.AtualizarAtendimento(atendimentoDto); var atendimentoItens = _mapper.Map <List <AtendimentoItem> >(atendimentoDto.AtendimentoItens); atendimento.AtualizarAtendimentoItens(atendimentoItens); await _atendimentoRepository.Update(atendimento); return(await Task.FromResult(ResultDto <bool> .Success(true))); }