Пример #1
0
        public async Task InserirAsync(MovimentacaoSaidaProduto movimentacaoSaidaProduto)
        {
            var validationResult = new NovoMovimentacaoSaidaProdutoValidation().Validate(movimentacaoSaidaProduto);

            if (!validationResult.IsValid)
            {
                _notifications.Add(validationResult);
                return;
            }

            await _movimentacaoSaidaProdutoRepository.InserirAsync(movimentacaoSaidaProduto);

            await _movimentacaoSaidaProdutoRepository.CommitAsync();

            var produto = await _produtoService.BuscarPorIdAsync(movimentacaoSaidaProduto.ProdutoId);

            var quantidadeAtualProduto = produto.BuscarQuantidadeAtual();

            var estoqueProduto = await _estoqueService.BuscarPorIdProdutoAsync(movimentacaoSaidaProduto.ProdutoId);

            if (quantidadeAtualProduto <= estoqueProduto.QuantidadeMinima)
            {
                var response = await _mediator.Send(new QuantidadeMinimaAtingidaCommand
                {
                    NomeProduto = produto.Nome
                });
            }
        }
        public async Task InserirAsync(Estoque estoque)
        {
            var validationResult = new NovoEstoqueValidation().Validate(estoque);

            if (!validationResult.IsValid)
            {
                _notifications.Add(validationResult);
                return;
            }

            await _estoqueRepository.InserirAsync(estoque);

            await _estoqueRepository.CommitAsync();
        }
Пример #3
0
        public async Task InserirAsync(Produto produto)
        {
            var validationResult = new NovoProdutoValidation().Validate(produto);

            if (!validationResult.IsValid)
            {
                _notifications.Add(validationResult);
                return;
            }

            await _produtoRepository.InserirAsync(produto);

            await _produtoRepository.CommitAsync();
        }
Пример #4
0
        public async Task InserirAsync(Categoria categoria)
        {
            var validationResult = new NovaCategoriaValidation().Validate(categoria);

            if (!validationResult.IsValid)
            {
                _notifications.Add(validationResult);
                return;
            }

            await _categoriaRepository.InserirAsync(categoria);

            await _categoriaRepository.CommitAsync();
        }
        public async Task InserirAsync(MovimentacaoEntradaProduto movimentacaoEntradaProduto)
        {
            var validationResult = new NovoMovimentacaoEntradaProdutoValidation().Validate(movimentacaoEntradaProduto);

            if (!validationResult.IsValid)
            {
                _notifications.Add(validationResult);
                return;
            }

            await _movimentacaoEntradaProdutoRepository.InserirAsync(movimentacaoEntradaProduto);

            await _movimentacaoEntradaProdutoRepository.CommitAsync();
        }
        public decimal CalcularJurosCompostos(TaxaJuros taxaJuros)
        {
            var validationResult = new JurosCompostosValidation().Validate(taxaJuros);

            if (!validationResult.IsValid)
            {
                _notifications.Add(validationResult);
                return(0);
            }

            return(taxaJuros.CalcularJurosCompostos());
        }
        public async Task Registrar(IdentityUser novoUsuario, string senha)
        {
            var validationNovoUsuarioResult  = new LoginValidation().Validate(novoUsuario);
            var validationSenhaUsuarioResult = new SenhaUsuarioValidation().Validate(senha);

            if (!validationNovoUsuarioResult.IsValid)
            {
                _notifications.Add(validationNovoUsuarioResult);
                return;
            }

            if (!validationSenhaUsuarioResult.IsValid)
            {
                _notifications.Add(validationSenhaUsuarioResult);
                return;
            }

            var result = await _userManager.CreateAsync(novoUsuario, senha);

            if (result.Succeeded)
            {
                await _signInManager.SignInAsync(novoUsuario, false);
            }
            else
            {
                _notifications.Add(result.Errors.Select(x => x.Description));
                return;
            }
        }