Exemplo n.º 1
0
        // Método IsValid on são feitas todas as verificaçoes de produto
        public void IsValid(Produto produto)
        {
            if (string.IsNullOrEmpty(produto.NomeProduto.Trim()) || produto.NomeProduto.Length > 40)
            {
                _notification.Add("Nome do produto invalido");
                return;
            }

            if (produto.PrecoProduto <= 0)
            {
                _notification.Add("Preço do produto nao pode ser negativo ou zerado");
                return;
            }

            if (produto.QtdeProduto < 0)
            {
                _notification.Add("Quantidade do produto nao pode ser menor que zero!");
                return;
            }

            //verificando se já existe um produto com o mesmo nome
            var produtos = _produtoRepository.ListarProdutos();

            if (!produtos.Any(item => item.NomeProduto.Equals(produto.NomeProduto) &&
                              item.IdProduto != produto.IdProduto))
            {
                return;
            }
            _notification.Add("Produto já existente");
        }
Exemplo n.º 2
0
        public async Task ValidarAsync(Calculo calculo)
        {
            var validacao = new CalculoValidation(calculo);

            foreach (var notificacao in validacao.Contract.Notifications)
            {
                _Notification.Add(notificacao.Message);
            }
        }
Exemplo n.º 3
0
 /* As linhas de codigo abaixo é onde ficam todas as verificações de usuario como
  *  validar cpf, senha, tamanho dos campos  etc */
 public bool VerificaInsercao(INotification notification)
 {
     if (!ValidaCpf(Cpf))
     {
         notification.Add("Cpf Invalido");
     }
     if (string.IsNullOrEmpty(NomeUsuario.Trim()) || NomeUsuario.Length > 50)
     {
         notification.Add("Nome do Usuario invalido ");
     }
     return(!notification.HasNotification());
 }
Exemplo n.º 4
0
 public void ValidarPagamento(Pagamento pagamento)
 {
     if (pagamento.ValorPagamento < 0)
     {
         _notification.Add("Valor inválido!");
     }
 }
Exemplo n.º 5
0
        private async Task EditPreviousTeamLeadNotification(int?teamLeadID, string firstName, string lastName)
        {
            var employeeID   = _dbTeamLeads.GetById(teamLeadID).EmployeeID;
            var teamLeadName = await _dbEmployees.GetEmployeeByID(employeeID);

            var user = await _dbUser.GetUserByEmployeeID(employeeID);

            var notify = _dbNotify.MapData($"You({teamLeadName.FirstName} {teamLeadName.LastName}) are no longer team leader to {firstName} {lastName}", employeeID);

            user.CountNotifications = user.CountNotifications + 1;
            user.ReadNotifications  = false;
            _dbNotify.Add(notify);
            await _dbUser.UpdateAllWithIncrementedNotification(WorkPosition.HR, 1);

            await db.SaveChangesAsync();
        }
Exemplo n.º 6
0
        public async ValueTask AddProductAsync(ProductModel product)
        {
            if (product is null)
            {
                _notifications.Add("Product cannot be null");
                return;
            }

            try
            {
                await _repository.Add(product);
            }
            catch
            {
                throw;
            }
        }
Exemplo n.º 7
0
        public bool VerificaEdicao(INotification notification)
        {
            if (string.IsNullOrEmpty(NomeUsuario.Trim()) || NomeUsuario.Length > 50)
            {
                notification.Add("Nome do Usuario invalido ");
            }
            if (string.IsNullOrEmpty(SenhaUsuario.Trim()) || SenhaUsuario.Length > 12 || SenhaUsuario.Length < 6)
            {
                notification.Add("Senha invalida");
            }
            if (string.IsNullOrEmpty(Ativo))
            {
                notification.Add("Status do usuario nao pode ser nulo");
            }
            if (string.IsNullOrEmpty(Classificacao.Trim()) || Classificacao.Length > 1)
            {
                notification.Add("Classificacao irregular");
            }

            return(!notification.HasNotification());
        }
Exemplo n.º 8
0
        public async Task <JsonResult> SaveAbsenceAsync(Absence e)
        {
            //saving data for current user if ID is greater than 0 that means user wanted to update his absence
            // if not then new absence is being created
            ApplicationUser currentUser = await _dbUser.GetCurrentUser();

            var status = "none";

            try {
                if (e.AbsenceID > 0)
                {
                    _dbAbsence.Update(await _dbAbsence.UpdateMapDataAsync(e, currentUser.EmployeeID));
                    await _dbAbsence.SaveChangesAsync();

                    status = "edit";
                }
                else
                {
                    using (var dbContextTransaction = db.Database.BeginTransaction())
                    {
                        var absenceToSave = _dbAbsence.MapData(e, currentUser.EmployeeID);
                        _dbAbsence.Add(absenceToSave);
                        var absenceType = await _dbAbsenceType.GetById(absenceToSave.AbsenceTypeID);

                        Notification notify = new Notification();
                        notify.Message = $"{absenceToSave.Employee.FullName} is requesting absence {absenceType.Name.ToLower()} for period from {absenceToSave.Start.ToString("MMMM dd, yyyy")} to {absenceToSave.End.ToString("MMMM dd, yyyy")} {absenceToSave.EmployeeID} ";
                        if (absenceToSave.Employee.TeamLeadID > 0 && !absenceToSave.Employee.IsTeamLead)
                        {
                            notify.EmployeeID = _dbTeamLeads.GetById(absenceToSave.Employee.TeamLeadID).EmployeeID;
                        }
                        await _dbUser.UpdateAllWithIncrementedNotification(WorkPosition.HR, 1);

                        status = "save";
                        _dbNotify.Add(notify);
                        await _dbAbsence.SaveChangesAsync();

                        await _dbNotify.SaveChangesAsync();

                        dbContextTransaction.Commit();
                    }
                }
            }
            catch (Exception exception)
            {
                throw exception;
            }
            return(new JsonResult {
                Data = new { status }
            });
        }
Exemplo n.º 9
0
        public void InserirUsuario(Usuario usuario)
        {
            if (!usuario.VerificaInsercao(_notification))
            {
                return;
            }

            //verificando se não está sendo cadastrado um cpf repetido
            var usuarios = _usuarioRepository.ListarUsuario();
            var cpf      = usuario.Cpf.Replace(".", "").Replace("-", "");

            if (usuarios.Any(usuarioA => usuarioA.Cpf == cpf))
            {
                _notification.Add("Este Cpf já existe!");
                return;
            }

            _usuarioRepository.InserirUsuario(usuario);
        }
        public void InserirCompra(Compra compra)
        {
            /* Inicia uma transação no banco, se qualquer coisa der errado
             * durante a inserção da compra, um rollback será realizado e
             * o processo será inteiro "desconsiderado", caso dê certo o
             * método commit será chamado e a transação será finalizada. */
            _compraRepository.BeginTransaction();
            try
            {
                int valor;
                var result = _compraRepository.InserirCompra(compra, out valor);
                if (result == -1)
                {
                    _compraRepository.RollBackTransaction();
                    _notification.Add("Falha ao inserir compra");
                    return;
                }

                /* Após inserir os dados da compra, item a item dessa mesma compra
                 * é inserido no banco, se algum deles exceder o estoque, o rollback
                 * é realizado. */
                foreach (var item in compra.Itens)
                {
                    if (item.QtdeCompra <= 0)
                    {
                        _notification.Add("Quantidade do produto nao pode ser zero ou menor");
                        return;
                    }

                    VerificaEstoque(item);
                    if (_notification.HasNotification())
                    {
                        _compraRepository.RollBackTransaction();
                        return;
                    }

                    item.IdCompra = valor;
                    _compraProdutoRepository.InserirCompraProduto(item);
                }

                var user = _usuarioRepository.SelecionarUsuario(compra.Usuario.Cpf);
                if (user.SaldoUsuario < -100)
                {
                    _compraRepository.RollBackTransaction();
                    _notification.Add("Você está excedendo a dívida máxima, pague a lojinha!");
                    return;
                }

                if (user.Ativo != "A")
                {
                    _compraRepository.RollBackTransaction();
                    _notification.Add("Sua conta foi desativada! Contate um administrador");
                    return;
                }

                _compraRepository.CommitTransaction();
            }
            catch
            {
                // Em caso de exception(erro) o roolback é realizado
                _compraRepository.RollBackTransaction();
                _notification.Add("Erro ao inserir compra");
            }
        }
Exemplo n.º 11
0
        public IActionResult Get()
        {
            _notification.Add("Error");

            return(BadRequest(_notification.Get()));
        }