Esempio n. 1
0
        public Uri IncluirPagamentoDoAnuncio(Anuncio anuncio)
        {
            Uri uri = null;
            Pagamento pagamento = new Pagamento(anuncio);

            if (anuncio == null || anuncio.Plano == null)
            {
                throw new ArgumentNullException();
            }

            if (!anuncio.Plano.Ativo)
            {
                throw new Exception("Plano inválido");
            }

            pagamento.Status = StatusPagamento.AguardandoPagamento;

            repositorioPagamento.Incluir(pagamento);

            if (anuncio.Plano.Valor == 0)
            {
                this.Pagar(pagamento);
            }
            else
            {
                uri = this.servicoPagamentoPagSeguro.RequisitarPagamento(pagamento);
            }

            return uri;
        }
Esempio n. 2
0
        public void Cancelar(Pagamento pagamento)
        {
            if (pagamento == null || pagamento.Anuncio == null)
            {
                throw new ArgumentNullException();
            }

            pagamento.Status = StatusPagamento.Cancelado;

            this.repositorioPagamento.Atualizar(pagamento);
        }
Esempio n. 3
0
        public void EnviarParaAnalise(Pagamento pagamento)
        {
            if (pagamento == null || pagamento.Anuncio == null)
            {
                throw new ArgumentNullException();
            }

            pagamento.Status = StatusPagamento.EmAnalise;

            this.repositorioPagamento.Atualizar(pagamento);
        }
Esempio n. 4
0
        public void Pagar(Pagamento pagamento)
        {
            if (pagamento == null || pagamento.Anuncio == null)
            {
                throw new ArgumentNullException();
            }

            pagamento.Status = StatusPagamento.Pago;
            pagamento.Data = DateTime.Now;

            this.repositorioPagamento.Atualizar(pagamento);
        }