예제 #1
0
        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))));
        }
예제 #2
0
        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)));
        }