public async Task <ISaida> CadastrarConta(CadastrarContaEntrada 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 alguma conta com o nome informado this.NotificarSeVerdadeiro(await _contaRepositorio.VerificarExistenciaPorNome(cadastroEntrada.IdUsuario, cadastroEntrada.Nome), ContaMensagem.Conta_Com_Mesmo_Nome); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } var conta = new Conta(cadastroEntrada); await _contaRepositorio.Inserir(conta); await _uow.Commit(); return(_uow.Invalido ? new Saida(false, _uow.Mensagens, null) : new Saida(true, new[] { ContaMensagem.Conta_Cadastrada_Com_Sucesso }, new ContaSaida(conta))); }
public void Nao_Deve_Cadastrar_Conta_Com_Parametros_Invalidos() { var cadastroEntrada = new CadastrarContaEntrada(0, string.Empty, TipoConta.ContaCorrente); _contaServico = Substitute.For <ContaServico>(_contaRepositorio, _uow); var saida = _contaServico.CadastrarConta(cadastroEntrada).Result; Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == ContaMensagem.Nome_Obrigatorio_Nao_Informado), string.Join(", ", saida.Mensagens)); }
public async Task <ISaida> CadastrarConta([FromBody, SwaggerParameter("Informações de cadastro da conta.", Required = true)] CadastrarContaViewModel model) { var cadastrarEntrada = new CadastrarContaEntrada( base.ObterIdUsuarioClaim(), model.Nome, model.Tipo.Value, model.ValorSaldoInicial, model.NomeInstituicao, model.NumeroAgencia, model.Numero); return(await _contaServico.CadastrarConta(cadastrarEntrada)); }
public void Nao_Deve_Cadastrar_Conta_Com_Mesmo_Nome_De_Outra_Conta() { var idUsuario = 1; _contaRepositorio.VerificarExistenciaPorNome(idUsuario, "Conta 1") .Returns(true); var cadastroEntrada = new CadastrarContaEntrada(idUsuario, "Conta 1", TipoConta.ContaCorrente); _contaServico = Substitute.For <ContaServico>(_contaRepositorio, _uow); var saida = _contaServico.CadastrarConta(cadastroEntrada).Result; Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == ContaMensagem.Conta_Com_Mesmo_Nome), string.Join(", ", saida.Mensagens)); }
public Conta(CadastrarContaEntrada cadastrarEntrada) : this() { if (cadastrarEntrada.Invalido) { return; } this.IdUsuario = cadastrarEntrada.IdUsuario; this.Nome = cadastrarEntrada.Nome; this.Tipo = cadastrarEntrada.Tipo; this.ValorSaldoInicial = cadastrarEntrada.ValorSaldoInicial; this.NomeInstituicao = cadastrarEntrada.NomeInstituicao; this.NumeroAgencia = cadastrarEntrada.NumeroAgencia; this.Numero = cadastrarEntrada.Numero; }