public async Task <ISaida> ObterCartaoCreditoPorId(int idCartao, int idUsuario) { this.NotificarSeMenorOuIgualA(idCartao, 0, CartaoCreditoMensagem.Id_Cartao_Invalido); this.NotificarSeMenorOuIgualA(idUsuario, 0, Mensagem.Id_Usuario_Invalido); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } var cartao = await _cartaoCreditoRepositorio.ObterPorId(idCartao); // Verifica se o cartão existe this.NotificarSeNulo(cartao, CartaoCreditoMensagem.Id_Cartao_Nao_Existe); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } // Verifica se o cartão pertece ao usuário informado. this.NotificarSeDiferentes(cartao.IdUsuario, idUsuario, CartaoCreditoMensagem.Cartao_Nao_Pertence_Usuario); return(this.Invalido ? new Saida(false, this.Mensagens, null) : new Saida(true, new[] { CartaoCreditoMensagem.Cartao_Encontrado_Com_Sucesso }, new CartaoCreditoSaida(cartao))); }
public async Task <ISaida> ObterCartaoCreditoPorId(int idCartao, int idUsuario, bool calcularLimiteCreditoDisponivelAtual = true) { this .NotificarSeMenorOuIgualA(idCartao, 0, CartaoCreditoMensagem.Id_Cartao_Invalido) .NotificarSeMenorOuIgualA(idUsuario, 0, Mensagem.Id_Usuario_Invalido); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } var cartao = await _cartaoCreditoRepositorio.ObterPorId(idCartao); if (cartao == null) { return(new Saida(true, new[] { CartaoCreditoMensagem.Id_Cartao_Nao_Existe }, null)); } // Verifica se o cartão pertece ao usuário informado. this.NotificarSeDiferentes(cartao.IdUsuario, idUsuario, CartaoCreditoMensagem.Cartao_Nao_Pertence_Usuario); return(this.Invalido ? new Saida(false, this.Mensagens, null) : new Saida(true, new[] { CartaoCreditoMensagem.Cartao_Encontrado_Com_Sucesso }, new CartaoCreditoSaida(cartao, calcularLimiteCreditoDisponivelAtual ? await CalcularLimiteCreditoDisponivelAtual(cartao) : (decimal?)null))); }
public void Nao_Deve_Obter_Cartao_Credito_Por_Id_De_Outro_Usuario() { var idCartaoCredito = 1; var idUsuario = 1; _cartaoCreditoRepositorio.ObterPorId(idCartaoCredito) .Returns(new CartaoCredito(new CadastrarCartaoCreditoEntrada(idUsuario, "Cartão 1", 5000, 5))); _cartaoCreditoServico = Substitute.For <CartaoCreditoServico>(_cartaoCreditoRepositorio, _uow); var saida = _cartaoCreditoServico.ObterCartaoCreditoPorId(idCartaoCredito, 2).Result; Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == CartaoCreditoMensagem.Cartao_Nao_Pertence_Usuario), string.Join(", ", saida.Mensagens)); }