Ejemplo n.º 1
0
        public async Task <SolicitationDto> Execute(SolicitationDto solicitationDto, int clientId)
        {
            if (solicitationDto.AskDtos.Count() < 5)
            {
                throw new AppError("Responda todas as questões!");
            }
            if (clientId == 0)
            {
                throw new AppError("Escolha um cliente válido!");
            }
            Pessoa client = await _pessoaRepository.GetByID(clientId);

            if (client == null)
            {
                throw new AppError("Cliente não encontrado!", 404);
            }
            if (solicitationDto.ReceivingDate > DateTime.Now)
            {
                throw new AppError("Data de recebimento não pode ser uma data futura");
            }
            Solicitacao solicitacao = SolicitationDtoMapToSolicitacao.Map(new Solicitacao(), solicitationDto);

            solicitacao.fkPessoa   = client;
            solicitacao.fkPessoaId = client.Id;

            _solicitacaoRepository.Insert(solicitacao);
            await _solicitacaoRepository.Commit();

            solicitationDto.Id = solicitacao.Id;
            return(solicitationDto);
        }
Ejemplo n.º 2
0
        public async Task <SolicitationDto> Execute(SolicitationDto solicitationDto)
        {
            Solicitacao solicitacao = await _solicitacaoRepository.GetByID(solicitationDto.Id);

            SolicitationDtoMapToSolicitacao.Map(solicitacao, solicitationDto);

            _solicitacaoRepository.Save(solicitacao);

            return(solicitationDto);
        }