private async Task <Pagamento> EfetuarPagamentoDoacao(CadastroDoacaoVM cadastroDoacaoVM) { var pagamento = _mapper.Map <Pagamento>(cadastroDoacaoVM.pagamento); var _pagamentoRepo = _serviceProvider.GetRequiredService <PagamentoRepository>(); await _pagamentoRepo.InsertOrUpdateAsync(pagamento); return(pagamento); }
private async Task <Instituicao> BuscarInstituicaoDoacao(CadastroDoacaoVM cadastroDoacaoVM) { var _instituicaoRepo = _serviceProvider.GetRequiredService <InstituicaoRepository>(); var _instituicao = await _instituicaoRepo.GetDocumentByID(cadastroDoacaoVM.IdInstituicao); if (_instituicao == null) { throw new NullReferenceException("Instituição informada não encontrada"); } return(_instituicao); }
private async Task <Doador> BuscarDoadorDoacao(CadastroDoacaoVM cadastroDoacaoVM) { var _doadorRepo = _serviceProvider.GetRequiredService <DoadorRepository>(); var _doador = await _doadorRepo.GetDocumentByID(cadastroDoacaoVM.IdDoador); if (_doador == null) { throw new NullReferenceException("Doador informada não encontrada"); } return(_doador); }
private async Task <IEnumerable <Cupom> > BuscarCuponsDoacao(CadastroDoacaoVM cadastroDoacaoVM) { List <Cupom> _listCupom = new(cadastroDoacaoVM.IdCupom.Count()); var _cupomRepo = _serviceProvider.GetRequiredService <CupomRepository>(); foreach (var idcupom in cadastroDoacaoVM.IdCupom) { var _cupom = await _cupomRepo.GetDocumentByID(idcupom); if (_cupom == null) { throw new NullReferenceException("Cupom informado não encontrada"); } _listCupom.Add(_cupom); } return(_listCupom); }
public async Task Salvar(CadastroDoacaoVM cadastroDoacaoVM) { Instituicao _instituicao = await BuscarInstituicaoDoacao(cadastroDoacaoVM); Doador _doador = await BuscarDoadorDoacao(cadastroDoacaoVM); IEnumerable <Cupom> _listCupom = await BuscarCuponsDoacao(cadastroDoacaoVM); Pagamento pagamento = await EfetuarPagamentoDoacao(cadastroDoacaoVM); Doacao doacao = new() { DataDoacao = DateTime.Now, ValorInstituicao = cadastroDoacaoVM.Valor, Instituicao = _instituicao, Doador = _doador, Cupom = _listCupom, Pagamento = pagamento }; await _doacaoRepository.InsertOrUpdateAsync(doacao); }
public async Task <ActionResult <DadosInstituicaoVM> > FazerDoacao(CadastroDoacaoVM doacaoVM) { await _doacao.Salvar(doacaoVM); return(Ok(doacaoVM)); }