public ActionResult Create(Pagamento pagamento) { try { if (ModelState.IsValid) { //pagamento.Cliente = _RepositoryCliente.BuscarPorId(pagamento.Cliente.Id); Cliente cliente = repositoryCliente.BuscarPorCpf(pagamento.Cliente.Cpf); if (cliente != null && cliente.valorPagar > 0) { pagamento.FormaPagamento = repositoryFormaPagamento.BuscarPorId(pagamento.FormaPagamentoId); pagamento.Cliente = cliente; repositoryPagamento.Adicionar(pagamento); repositoryPagamento.Salvar(); repositoryPagamento.RegistrarPagamento(pagamento); return(RedirectToAction("Listar", "Pagamento")); } else if (cliente.valorPagar == 0) { pagamento.FormaPagamento = repositoryFormaPagamento.BuscarPorId(pagamento.FormaPagamentoId); pagamento.Cliente = cliente; repositoryPagamento.Adicionar(pagamento); repositoryPagamento.Salvar(); } } return(View(pagamento)); } catch (Exception e) { return(View(e.Message)); } }
public Pagamento PagarConsulta(Pagamento pagamento) { var consultaPagar = _consultaRepository.ObterNaoFinalizadaPorId(pagamento.IdConsulta); if (consultaPagar == null) { throw new Exception("Está consulta não está finalizada ou não existe"); } consultaPagar.AlterarStatus(EnumStatusConsulta.Finalizada); _pagamentoRepository.Inserir(pagamento); _pagamentoRepository.Salvar(); return(pagamento); }