// => a base é para pegar a referencia da classe pai, pois como a mesma é abstrata não pode ser referenciada public PagamentoCartaoDeCredito(string nomeTitular, string numeroDoCartao, string ultimaTransacao, DateTime dataPagamento, DateTime dataExpiracao, decimal total, decimal totalPagamento, Endereco endereco, Documento documento, string propretario, Email email) : base(dataPagamento, dataExpiracao, total, totalPagamento, endereco, documento, propretario, email) { NomeTitular = nomeTitular; NumeroDoCartao = numeroDoCartao; UltimaTransacao = ultimaTransacao; }
protected Pagamento(DateTime dataPagamento, DateTime dataExpiracao, decimal total, decimal totalPagamento, Endereco endereco, Documento documento, string propretario, Email email) { // => O guid gera um código transforma em string => toString() => // => retira os tracinhos => Replace("primeiro parametro que deseja retirar", "segundo parametro que ira entrar") // => pega as 10 primeiras posições => SubString(0,10) // => transforma tudo em maiusculo Numero = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 10).ToUpper(); DataPagamento = dataPagamento; DataExpiracao = dataExpiracao; Total = total; TotalPagamento = totalPagamento; Endereco = endereco; Documento = documento; Propretario = propretario; Email = email; AddNotifications(new Contract() .Requires() .IsLowerOrEqualsThan(0, total, "Pagamento.Total", "O pagamento não pode ser igaul a 0") .IsGreaterOrEqualsThan(total, totalPagamento, "Pagamento.TotalPagamento", "O valor pago é menor que o valor do pagamento") ); }
// => a base é para pegar a referencia da classe pai, pois como a mesma é abstrata não pode ser referenciada public PagamentoPayPal(string codigoDaTransicao, DateTime dataPagamento, DateTime dataExpiracao, decimal total, decimal totalPagamento, Endereco endereco, Documento documento, string propretario, Email email) : base(dataPagamento, dataExpiracao, total, totalPagamento, endereco, documento, propretario, email) { CodigoDaTransicao = codigoDaTransicao; }