public void RetornarErroAssinaturaAtiva() { var pagamento = new PaypalPagamento("12312313", DateTime.Now, DateTime.Now.AddDays(5), 10, 10, _endereco, "Cangaço Corp", _documento, _email); _assinatura.AdicionarPagamento(pagamento); _estudante.AdicionarAssinatura(_assinatura); _estudante.AdicionarAssinatura(_assinatura); Assert.IsTrue(_estudante.Invalid); }
public void DeveRetornarErroQuandoAssinaturaEstiverAtiva() { var pagamento = new PayPal("12345678", DateTime.Now, DateTime.Now.AddDays(6), 10, 10, "O Proprio", documento, endereco, email); assinatura.AdicionarPagamento(pagamento); estudante.AdicionarAssinatura(assinatura); estudante.AdicionarAssinatura(assinatura); Assert.IsTrue(estudante.Invalid); }
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 ICommandResult Handle(AssinaturaBoletoCommand command) { //fail fast validations command.Validate(); if (command.Invalid) { AddNotifications(command); return(new CommandResult(false, "Não foi possível realizar sua assinatura.")); } //Verificar se documento ja esta cadastrado if (estudanteRepository.DocumentoExiste(command.Documento)) { AddNotification("Documento", "Este CPF já está em uso"); } //verificar se email ja esta cadastrado if (estudanteRepository.EmailExiste(command.Documento)) { AddNotification("Email", "Este E-mail já está em uso"); } //gerar os vos var nome = new Nome(command.PrimeiroNome, command.UltimoNome); 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 estudante = new Estudante(nome, documento, email); var assinatura = new Assinatura(DateTime.Now.AddMonths(1)); var pagamento = new Boleto( command.CodigoBarras, command.NumeroBoleto, command.DataPagamento, command.DataExpiracao, command.Total, command.TotalPago, command.Pagador, new Documento(command.PagadorDocumento, command.PagadorDocumentoTipo), endereco, email); //relacionamentos assinatura.AdicionarPagamento(pagamento); estudante.AdicionarAssinatura(assinatura); //agrupar as validações AddNotifications(nome, documento, email, endereco, estudante, assinatura, pagamento); //salvar as informações estudanteRepository.CriarAssinatura(estudante); //enviar email de boas vindas emailService.Send(estudante.Nome.ToString(), estudante.Email.EnderecoEmail, "Bem vindo ao serviço de assinatura", "Sua assinatura foi criada com sucesso."); //retornar as informações return(new CommandResult(true, "Assinatura realizada com sucesso.")); }
public void DeveRetornarSucessoQuandoAdicionarAssinatura() { var subscription = new Assinatura(null); var payment = new PagamentoPaypal(_email, "12345678", DateTime.Now, DateTime.Now.AddDays(5), 10, 10, "Wayne Industries ACME", _document, _address); subscription.AdicionarPagamento(payment); _student.AdicionaAssinatura(subscription); Assert.IsTrue(_student.Valid); }
public ICommandResult Handle(CriarAssinaturaPayPalCommand command) { // Fail Fast Validations command.Validate(); if (command.Invalid) { AddNotifications(command); return(new CommandResult(false, "Não foi possível realizar sua assinatura")); } // Verificar se documento já está cadastrado if (_repository.DocumentoExiste(command.Documento)) { AddNotification("Documemnto", "Este CPF já está em uso"); } // Verificar se e-mail já está cadastrado if (_repository.EmailExiste(command.Email)) { AddNotification("Documemnto", "Este E-mail já está em uso"); } // Gerar os VOs var nome = new Nome(command.PrimeiroNome, command.Sobrenome); var documento = new Documento(command.Documento, ETipoDocumento.CPF); var endereco = new Endereco(command.Logradouro, command.NumeroEndereco, command.Bairro, command.Cidade, command.Estado, command.Pais, command.CEP); var email = new Email(command.Email); // Gerar as entidades var estudante = new Estudante(nome, documento, email); var assinatura = new Assinatura(DateTime.Now.AddMonths(1)); var pagamento = new PaypalPagamento(command.CodigoTransacao, command.DataPagamento, command.DataVencimento, command.ValorGerado, command.ValorPago, endereco, command.Pagador, new Documento(command.PagadorDocumento, command.PagadorDocumentoTipo), email); // Relacionamentos assinatura.AdicionarPagamento(pagamento); estudante.AdicionarAssinatura(assinatura); // Aplicar as validacoes AddNotifications(nome, documento, email, endereco, estudante, assinatura, pagamento); // Checar as notificacoes if (Invalid) { return(new CommandResult(false, "Não foi possível realizar sua assinatura")); } // Salvar as informacoes _repository.CriarAssinatura(estudante); // Enviar e-mail de boas vindas // Chamar servico de e-mail // Retornar informacoes return(new CommandResult(true, "Assinatura realizada com sucesso")); }
public IResultadoComando Manipula(ComandoCriarAssinaturaBoleto comando) { // Fail fast Validations comando.Validar(); if (comando.Invalid) { AddNotifications(comando); return(new ResultadoComando(false, "Não foi possivel realizar sua assinatura")); } // Verificar se o Documento já está cadastrado if (_repositorio.DocumentoExiste(comando.NumeroDoDocumento)) { AddNotification("Documento", "Este CPF já está em uso"); } // Verificar se E-mail já está cadastrado if (_repositorio.EmailExiste(comando.Email)) { AddNotification("Email", "Este E-mail já está em uso"); } // Gerar os VOs var name = new Nome(comando.PrimeiroNome, comando.Sobrenome); var document = new Documento(comando.NumeroDoDocumento, ETipoDocumento.CPF); var email = new Email(comando.Email); var address = new Endereco(comando.Rua, comando.Numero, null, null, comando.Bairro, comando.Cidade, comando.Estado); // Gerar as Entidades var student = new Estudante(name, document, email); var subscription = new Assinatura(null); var pagamento = new PagamentoBoleto(comando.CodigoDeBarras, comando.NossoNumero, new Email(comando.Email), comando.DataDePagamento, comando.DataDeExpiracao, comando.Total, comando.TotalPago, comando.Pagante, new Documento(comando.NumeroDoDocumento, ETipoDocumento.CPF), null); // Relacionamentos subscription.AdicionarPagamento(pagamento); student.AdicionaAssinatura(subscription); //Agrupar as Validações AddNotifications(name, document, email, address, student, subscription, pagamento); // Checar as notificações if (Invalid) { return(new ResultadoComando(false, "Não foi possível realizar sua assinatura")); } // Salvar as Informações _repositorio.CriarAssinatura(student); // Enviar E-mail de boas vindas _servicoDeEmail.Enviar(student.Nome.ToString(), student.Email.Endereco, "Bem vindo à Simasoft Holdings", "Seja bem vindo! Sua assinatura foi criada"); //Retornar informações return(new ResultadoComando(true, "Cadastro efetuado com sucesso!")); }
public void DeveRetornarErroQuandoTiverAssinaturaAtiva() { var subscription = new Assinatura(null); var payment = new PagamentoPaypal(_email, "12345678", DateTime.Now, DateTime.Now.AddDays(5), 10, 10, "Wayne Industries ACME", _document, _address); subscription.AdicionarPagamento(payment); _student.AdicionaAssinatura(subscription); _student.AdicionaAssinatura(subscription); //Green(2) Assert.IsTrue(_student.Invalid); //Red (1) //Assert.Fail(); }
public void RetornarSucessoQuandoAdicionarAssinatura() { 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); 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")); }