public void AtivarAssinaturaInvalido() { var pagamento = new PagamentoPayPal("12345", DateTime.Now, DateTime.Now.AddDays(5), 10, 10, _endereco, _documento, "SoftClever", _email); _assinatura.AdicionarPagamento(pagamento); _aluno.AdicionarAssinatura(_assinatura); _aluno.AdicionarAssinatura(_assinatura); Assert.IsTrue(_aluno.Invalid); }
public void ErroAoAtivarAssinaturaDuasAtivas() { var aluno = new Aluno( new Nome("Cristiano", "Cunha"), new Email("*****@*****.**"), new Documento("896.350.050-08", EDocumento.CPF)); aluno.AdicionarAssinatura(new Assinatura(DateTime.Now.AddDays(30))); aluno.AdicionarAssinatura(new Assinatura(DateTime.Now.AddDays(15))); Assert.IsFalse(aluno.Valid); }
public void RetornarErroQuandoTiverAssinaturaAtiva() { var assinatura = new Assinatura(null); var pagamento = new PagamentoPayPal( "123456", DateTime.Now, DateTime.Now.AddDays(5), 100, 100, "Lucian AF", _documento, _endereco, _email); assinatura.AdicionarPagamento(pagamento); _aluno.AdicionarAssinatura(assinatura); _aluno.AdicionarAssinatura(assinatura); Assert.IsTrue(_aluno.Invalid); }
public void SucessoAoAtivarAssinatura() { var endereco = new Endereco ( new CEP("94100-300"), "Teste", ELogradouro.avenida, "289A", "Centro" ); var pagamento = new PagamentoBoleto( "4654asd", "654684164884684", DateTime.Now, DateTime.Now.AddDays(5), 150, 0, new Documento("896.350.050-08", EDocumento.CPF), "Cristiano Cunha", endereco, new Email("*****@*****.**")); var assinatura = new Assinatura(DateTime.Now.AddDays(30)); var aluno = new Aluno( new Nome("Cristiano", "Cunha"), new Email("*****@*****.**"), new Documento("896.350.050-08", EDocumento.CPF)); assinatura.AddicionarPagamento(pagamento); aluno.AdicionarAssinatura(assinatura); Assert.IsTrue(aluno.Valid); }
public IResultadoComando Cabecalho(ComandoCriarAssinaturaCredito comando) { #region Verifica falhas nas validações comando.Validate(); if (comando.Invalid) { AddNotifications(comando); return(new ResultadoComando(false, "Não foi possivel realizar seu cadastro")); } #endregion #region Verifica se o CPF já esta cadastrado if (_alunoRepositorio.ExisteDocumento(comando.Documento)) { AddNotification("Documento", "O C`F já esta em uso!"); } #endregion #region Verificar se o Email ja esta cadastrado if (_alunoRepositorio.ExisteEmail(comando.Email)) { AddNotification("Email", "O email já esta em uso!"); } #endregion #region Gerar os VOs var nome = new Nome(comando.PrimeiroNome, comando.UltimoNome); var documento = new Documento(comando.Documento, ETipoDocumentos.CPF); var email = new Email(comando.Email); var endereco = new Endereco( comando.Rua, comando.Numero, comando.Complemento, comando.Bairro, comando.Cidade, comando.Estado, comando.CEP ); #endregion #region Gerar as Entidades var aluno = new Aluno(nome, documento, email); var assinatura = new Assinatura(DateTime.Now.AddMonths(1)); var pagamento = new PagamentoCartaoDeCredito( comando.NomeTitular, comando.NumeroDoCartao, comando.UltimaTransacao, comando.DataPagamento, comando.DataExpiracao, comando.Total, comando.TotalPagamento, endereco, documento, comando.NomePropretario, email ); #endregion #region Relacionamento assinatura.AdicionarPagamento(pagamento); aluno.AdicionarAssinatura(assinatura); #endregion #region Agrupar as validações AddNotifications(nome, documento, email, endereco, aluno, assinatura, email); #endregion #region Checar validações if (Invalid) { return(new ResultadoComando(false, "Não foi possivel realizar sua assinatura")); } #endregion #region Salvar as informações _alunoRepositorio.CriarAssinatura(aluno); #endregion #region Enviar o email de boas vindas _servicoEmail.Enviar( aluno.Nome.ToString(), aluno.Email.Emdereco, "Bem vindo a nosso site!", "Sua assinatura foi criada com successo" ); #endregion #region Retornar informações return(new ResultadoComando(true, "Assinatura realizada com sucesso")); #endregion }
public IComandoResultado Manipulador(ComandoCriarAssinaturaBoleto comando) { // Fail Fast Validate comando.Validar(); if (comando.Invalid) { AddNotifications(comando); return(new ComandoResultado(false, "Não foi possível realizar sua assinatura", comando)); } // Verificar se Documento já esta Cadastrado if (_alunoRepositorio.DocumentoExiste(comando.Documento)) { AddNotification("Documento", "Este documento já está em uso!"); } // Verificar se Email ja esta cadastrado if (_alunoRepositorio.EmailExiste(comando.Documento)) { AddNotification("Email", "Este e-mail já está em uso!"); } // Gerar os VOs (Valor Objeto) var documento = new Documento(comando.Documento, eTipoDocumento.CPF); var email = new Email(comando.Email); var nome = new Nome(comando.PrimeiroNome, comando.Sobrenome); var endereco = new Endereco(comando.Descricao, comando.Numero, comando.Bairro, comando.Cidade, comando.Estado, comando.Pais, comando.Cep); // Gerar Entidades var aluno = new Aluno(nome, documento, email); var assinatura = new Assinatura(DateTime.Now.AddMonths(1)); var pagamento = new PagamentoBoleto( comando.CodigoBarras, comando.NossoNumero, comando.DataPagamento, comando.DataExpiracao, comando.ValorTotal, comando.ValorPago, comando.Pagador, new Documento(comando.PagadorDocumento, comando.PagadorTipoDocumento), endereco, // Endereco correto é do pagador (comando. Informacoes do pagador) email); // Relacionamentos assinatura.AdicionarPagamento(pagamento); aluno.AdicionarAssinatura(assinatura); // Aplicar Validações AddNotifications(nome, documento, email, endereco, aluno, assinatura, pagamento); // Checar Notificacoes if (Invalid) { return(new ComandoResultado(false, "Não foi possível realizar sua assinatura!", aluno)); } // Salvar Informacoes _alunoRepositorio.CriarAssinatura(aluno); // Enviar Email de boas-vindas _emailServico.Enviar(aluno.Nome.ToString(), aluno.Email.Endereco, "Bem Vindo!", "Sua assinatura foi criada!"); // Retornar informacoes return(new ComandoResultado(true, "Assinatura realizada com sucesso!", aluno)); }
public ICommandResult Handle(CriarPayPalAssinaturaCommand command) { // se usar Fail Fast Validations usar o código abaixo // command.Validar(); // if(command.Invalid) // { // AddNotifications(command); // return new CommandResult(false, "Não foi possível realizar sua assinatura"); // } // Verifica se o Documento já está cadastrado if (_alunoRepository.DocumentoExiste(command.Documento)) { AddNotification("Documento", "Este CPF já está em uso"); } // Verifica se o E-mail já está cadastrado if (_alunoRepository.EmailExiste(command.Email)) { AddNotification("Email", "Este CPF já está em uso"); } // Gerar os VOs var nome = new Nome(command.PrimeiroNome, command.SegundoNome); var documento = new Documento(command.Documento, EDocumentoTipo.CPF); var email = new Email(command.Email); var endereco = new Endereco(command.Rua, command.Numero, command.Bairro, command.Cidade, command.Estado, command.Pais, command.Cep); // Gerar as Entidades var aluno = new Aluno(nome, documento, email); var assinatura = new Assinatura(DateTime.Now.AddMonths(1)); // Tipos de Pagamento só muda a implementação do pagamento var pagamento = new PayPalPagamento( command.CodigoTransacao, command.DataPagamento, command.DataExpiracao, command.Total, command.TotalPago, command.Proprietario, new Documento(command.DocumentoDonoCartao, command.TipoDocumentoCartao), endereco, email ); // Realacionamentos assinatura.AdicionarPagamento(pagamento); aluno.AdicionarAssinatura(assinatura); // Agrupar as Validações AddNotifications(nome, documento, email, endereco, aluno, assinatura, pagamento); // Checar as notificações if (Invalid) { return(new CommandResult(false, "Não foi possível realizar sua assinatura")); } // Salvar as Informações _alunoRepository.CriarAssinatura(aluno); // Enviar E-mail de boas vindas _emailService.Enviar(aluno.Nome.ToString(), aluno.Email.EmailEnd, "Bem vindo ao martinsnelson.io", "Assinatura Criada"); // Retornar Informações return(new CommandResult(true, "Assinatura realizada com sucesso")); }