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); }
public async Task <SolicitationDto> Execute(SolicitationDto solicitationDto) { Solicitacao solicitacao = await _solicitacaoRepository.GetByID(solicitationDto.Id); SolicitationDtoMapToSolicitacao.Map(solicitacao, solicitationDto); _solicitacaoRepository.Save(solicitacao); return(solicitationDto); }