public override async Task Adicionar(TransacaoEntity entity) { //validar o estado da entidade if (!ExecutarValidacao(new TransacaoValidation(), entity)) { return; } entity.ContaOrigem = await _contaService.ValidarAptidaoContaOrigemTransacao(entity.ContaOrigem.Agencia, entity.ContaOrigem.Numero, entity.ContaOrigem.Digito, entity.Valor); if (_notificador.TemNotificacao()) { return; } entity.ContaDestino = await _contaService.ValidarAptidaoContaDestinoTransacao(entity.ContaDestino.Agencia, entity.ContaDestino.Numero, entity.ContaDestino.Digito, entity.Valor); if (_notificador.TemNotificacao()) { return; } if (entity.ContaOrigem.Id == entity.ContaDestino.Id) { Notificar("Não é permitido fazer transação entre contas iguais"); return; } if (_notificador.TemNotificacao()) { return; } await _transacaoRepository.Adicionar(entity); }
public async Task Adicionar_Produto_Com_Propriedades_Invalidas() { // Arrange Produto produto = ObterInstanciaProduto(); produto.Id = Guid.Empty; produto.Descricao = "X"; produto.Nome = string.Empty; int qntNotificacoesEsperadas = 4; string msgErroIdEsperada = $"O campo {nameof(produto.Id)} não pode ser vazio"; string msgErroNomeEsperada = $"O campo {nameof(produto.Nome)} precisa ser fornecido"; string msgErroNomeEsperada2 = $"O campo {nameof(produto.Nome)} precisa ter entre 2 e 200 caracteres"; string msgErroDescricaoEsperada = $"O campo {nameof(produto.Descricao)} precisa ter entre 2 e 1000 caracteres"; var msgErrosEsperadas = new string[] { msgErroIdEsperada, msgErroNomeEsperada, msgErroNomeEsperada2, msgErroDescricaoEsperada }; // Act await _sut.Adicionar(produto); // Assert var notificacoes = _notificador.ObterNotificacoes(); Assert.True(_notificador.TemNotificacao()); Assert.NotEmpty(notificacoes); Assert.Equal(qntNotificacoesEsperadas, notificacoes.Count); Assert.Equal(msgErrosEsperadas, notificacoes.Select(n => n.Mensagem)); }
public async Task Adicionar_Fornecedor_Com_Propriedade_Invalida() { // Arrange Fornecedor fornecedor = ObterInstanciaFornecedor(); fornecedor.Id = Guid.Empty; // Act await _sut.Adicionar(fornecedor); // Assert Assert.True(_notificador.TemNotificacao()); }
public bool Commit() { if (_notificador.TemNotificacao()) { return(false); } _unitOfWork.Commit(); return(true); }
protected ActionResult Result(object obj = null) { if (!_notificador.TemNotificacao()) { return(Ok(new { sucesso = true, data = obj })); } return(BadRequest(new { sucesso = false, erros = _notificador.ObterNotificacoes().Select(n => n.Mensagem) })); }
public IActionResult Errors(int id) { var modelErro = new ErrorViewModel(); if (id == 500) { modelErro.Titulo = "Ocorreu um erro!"; modelErro.ErroCode = id; if (_notificador.TemNotificacao()) { foreach (var item in _notificador.ObterNotificaoes()) { modelErro.Mensagem = item.Mensagem; } } else { modelErro.Mensagem = "Ocorreu um erro! Tente novamente mais tarde ou contate nosso suporte."; } } else if (id == 404) { modelErro.Mensagem = "A página que está procurando não existe! <br />Em caso de dúvidas entre em contato com nosso suporte"; modelErro.Titulo = "Ops! Página não encontrada."; modelErro.ErroCode = id; } else if (id == 403) { modelErro.Mensagem = "Você não tem permissão para fazer isto."; modelErro.Titulo = "Acesso Negado"; modelErro.ErroCode = id; } else { return(StatusCode(500)); } return(View("Error", modelErro)); }
public async Task <IActionResult> DeleteConfirmed(Guid id) { var fornecedorViewModel = await ObterFornecedorEndereco(id); if (fornecedorViewModel == null) { return(NotFound()); } await _fornecedorService.Remover(id); if (!OperacaoValida()) { if (_notificador.TemNotificacao()) { foreach (var item in _notificador.ObterNotificacoes()) { TempData["Erro"] = item.Mensagem; } } } return(RedirectToAction(nameof(Index))); }
protected bool OperacaoValida() { return(!_notificador.TemNotificacao()); }
private bool OperacaoValida() { return(!_notificadorMemory.TemNotificacao()); }
protected bool OperacaoValida() { return(!_notificador.TemNotificacao());//! se nao tem notificação.. deu bom! }
public bool OperacaoValida() { return(!_notificador.TemNotificacao()); }
protected bool IsValidOperation() { return(!_notificador.TemNotificacao()); }
protected bool TemNotificacoes() { return(_notificador.TemNotificacao()); }
protected bool OperacaoValida() { //Sempre deve ser a negação do tem notificação return(!_notificador.TemNotificacao()); }
protected bool OperacaoValida() => !_notificador.TemNotificacao();
public async Task <DTOPedidosResultado> Adicionar(DTOPedidos pedido) { //Objeto tamanho var tamanho = await _tamanhos.ObterPorId(pedido.Tamanho); //Objeto sabores var sabor = await _sabores.ObterPorId(pedido.Sabor); if (tamanho == null) { Notificar($"Tamanho {pedido.Tamanho} não localizado."); } if (sabor == null) { Notificar($"Sabor {pedido.Sabor} não localizado."); } if (_notificador.TemNotificacao()) { return(null); } //Objeto pedido var objPedido = new Pedidos { Cliente = string.Empty, DtPedido = DateTime.Now, SaboresId = sabor.Id, TempoSabor = sabor.TempoPreparo, ValorSabor = sabor.Valor, TamanhosId = tamanho.Id, TempoTamanho = tamanho.TempoPreparo, ValorTamanho = tamanho.Valor }; var add = await _pedidos.Adicionar(objPedido); pedido.Id = add.Id; var personalizacoes = new List <DetalhesPersonalizacao>(); //Adicionar personalizacao if (pedido.Personalizacoes.Count > 0) { personalizacoes = await AdicionarPersonalizacoes(pedido); } var tam = new DetalhesTamanho { Descricao = tamanho.Descricao, Id = add.Tamanhos.Id, TempoPreparo = add.TempoTamanho, Valor = add.ValorTamanho }; var sab = new DetalhesSabor { Descricao = sabor.Descricao, Id = add.Sabores.Id, TempoPreparo = add.TempoSabor, Valor = add.ValorSabor }; var resultado = GerarResultado(tam, sab, personalizacoes); resultado.Id = pedido.Id; return(resultado); }
protected bool OperacaoValida() { return(!_notificador.TemNotificacao() || _notificador.ObterNotificacoes().TrueForAll(x => x.Sucesso == 2)); }
public bool HaNotificacoes() { return(_notificador.TemNotificacao()); }