public async Task <IActionResult> CadastrarCartaoCredito([FromBody, SwaggerParameter("Informações de cadastro do cartão.", Required = true)] CartaoCreditoViewModel model) { var entrada = new CartaoCreditoEntrada( base.ObterIdUsuarioClaim(), model.Nome, model.ValorLimite.Value, model.DiaVencimentoFatura.Value); return(new ApiResult(await _cartaoCreditoServico.CadastrarCartaoCredito(entrada))); }
public void Alterar(CartaoCreditoEntrada entrada) { if (entrada.Invalido) { return; } this.Nome = entrada.Nome; this.ValorLimite = entrada.ValorLimite; this.DiaVencimentoFatura = entrada.DiaVencimentoFatura; }
public CartaoCredito(CartaoCreditoEntrada cadastrarEntrada) : this() { if (cadastrarEntrada.Invalido) { return; } this.IdUsuario = cadastrarEntrada.IdUsuario; this.Nome = cadastrarEntrada.Nome; this.ValorLimite = cadastrarEntrada.ValorLimite; this.DiaVencimentoFatura = cadastrarEntrada.DiaVencimentoFatura; }
public async Task <ISaida> AlterarCartaoCredito(int idCartaoCredito, CartaoCreditoEntrada entrada) { // Verifica se as informações para alteração foram informadas corretamente if (entrada.Invalido) { return(new Saida(false, entrada.Mensagens, null)); } var cartao = await _cartaoCreditoRepositorio.ObterPorId(idCartaoCredito); // 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, entrada.IdUsuario, CartaoCreditoMensagem.Cartao_Alterar_Nao_Pertence_Usuario); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } // Verifica se o usuário já possui algum cartão com o nome informado this.NotificarSeVerdadeiro(await _cartaoCreditoRepositorio.VerificarExistenciaPorNome(entrada.IdUsuario, entrada.Nome, idCartaoCredito), CartaoCreditoMensagem.Cartao_Com_Mesmo_Nome); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } cartao.Alterar(entrada); _cartaoCreditoRepositorio.Atualizar(cartao); await _uow.Commit(); return(new Saida(true, new[] { CartaoCreditoMensagem.Cartao_Alterado_Com_Sucesso }, new CartaoCreditoSaida(cartao))); }
public async Task <ISaida> CadastrarCartaoCredito(CartaoCreditoEntrada entrada) { // Verifica se as informações para cadastro foram informadas corretamente if (entrada.Invalido) { return(new Saida(false, entrada.Mensagens, null)); } // Verifica se o usuário já possui algum cartão com o nome informado this.NotificarSeVerdadeiro(await _cartaoCreditoRepositorio.VerificarExistenciaPorNome(entrada.IdUsuario, entrada.Nome), CartaoCreditoMensagem.Cartao_Com_Mesmo_Nome); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } var cartao = new CartaoCredito(entrada); await _cartaoCreditoRepositorio.Inserir(cartao); await _uow.Commit(); return(new Saida(true, new[] { CartaoCreditoMensagem.Cartao_Cadastrado_Com_Sucesso }, new CartaoCreditoSaida(cartao))); }