public async Task <ISaida> CadastrarCartaoCredito(CadastrarCartaoCreditoEntrada cadastroEntrada) { // Verifica se as informações para cadastro foram informadas corretamente if (cadastroEntrada.Invalido) { return(new Saida(false, cadastroEntrada.Mensagens, null)); } // Verifica se o usuário já possui algum cartão com o nome informado this.NotificarSeVerdadeiro(await _cartaoCreditoRepositorio.VerificarExistenciaPorNome(cadastroEntrada.IdUsuario, cadastroEntrada.Nome), CartaoCreditoMensagem.Cartao_Com_Mesmo_Nome); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } var cartao = new CartaoCredito(cadastroEntrada); await _cartaoCreditoRepositorio.Inserir(cartao); await _uow.Commit(); return(_uow.Invalido ? new Saida(false, _uow.Mensagens, null) : new Saida(true, new[] { CartaoCreditoMensagem.Cartao_Cadastrado_Com_Sucesso }, new CartaoCreditoSaida(cartao))); }
public async Task <ISaida> CadastrarCartaoCredito([FromBody, SwaggerParameter("Informações de cadastro do cartão.", Required = true)] CadastrarCartaoCreditoViewModel model) { var cadastrarEntrada = new CadastrarCartaoCreditoEntrada( base.ObterIdUsuarioClaim(), model.Nome, model.ValorLimite.Value, model.DiaVencimentoFatura.Value); return(await _cartaoCreditoServico.CadastrarCartaoCredito(cadastrarEntrada)); }
public void Nao_Deve_Cadastrar_Cartao_Credito_Com_Parametros_Invalidos() { var cadastroEntrada = new CadastrarCartaoCreditoEntrada(0, string.Empty, -5000, 33); _cartaoCreditoServico = Substitute.For <CartaoCreditoServico>(_cartaoCreditoRepositorio, _uow); var saida = _cartaoCreditoServico.CadastrarCartaoCredito(cadastroEntrada).Result; Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == CartaoCreditoMensagem.Nome_Obrigatorio_Nao_Informado), string.Join(", ", saida.Mensagens)); }
public CartaoCredito(CadastrarCartaoCreditoEntrada cadastrarEntrada) : this() { if (cadastrarEntrada.Invalido) { return; } this.IdUsuario = cadastrarEntrada.IdUsuario; this.Nome = cadastrarEntrada.Nome; this.ValorLimite = cadastrarEntrada.ValorLimite; this.DiaVencimentoFatura = cadastrarEntrada.DiaVencimentoFatura; }
public void Nao_Deve_Cadastrar_Cartao_Credito_Com_Mesmo_Nome_De_Outra_CartaoCredito() { var idUsuario = 1; _cartaoCreditoRepositorio.VerificarExistenciaPorNome(idUsuario, "Cartão 1") .Returns(true); var cadastroEntrada = new CadastrarCartaoCreditoEntrada(idUsuario, "Cartão 1", 5000, 5); _cartaoCreditoServico = Substitute.For <CartaoCreditoServico>(_cartaoCreditoRepositorio, _uow); var saida = _cartaoCreditoServico.CadastrarCartaoCredito(cadastroEntrada).Result; Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == CartaoCreditoMensagem.Cartao_Com_Mesmo_Nome), string.Join(", ", saida.Mensagens)); }