public void Update(FuncionarioDTO funcionariodto)
        {
            var funcionario = _repository.GetById(funcionariodto.Id);

            if (funcionario == null)
            {
                Notification.Adicionar("Funcionário não encontrado.");
                return;
            }

            Manipulate(funcionario, _repository.Update);
        }
        public void AddEmpresa(int funcionarioId, int empresaId)
        {
            var funcionario = _repository.GetById(funcionarioId);

            if (empresaId == 0 && funcionario?.EmpresaId != null)
            {
                Notification.Adicionar("O funcionário não pode se desvincular de uma empresa.");
                return;
            }

            funcionario.VinculaEmpresa(empresaId);
            _UoW.Commit();
        }
예제 #3
0
        public void Update(CargoDTO cargoDTO)
        {
            var cargo = _repository.GetById(cargoDTO.Id);

            if (cargo == null)
            {
                Notification.Adicionar("Cargo não encontrado.");
                return;
            }

            cargo.AlteraDescricao(cargoDTO.Descricao);

            Manipulate(cargo, _repository.Update);
        }
예제 #4
0
        public void Remove(int empresaId)
        {
            var cargo = _repository.GetById(empresaId);

            if (cargo?.Funcionarios?.Count > 0)
            {
                Notification.Adicionar("Não foi possível remover a empresa, pois a mesma possui vínculos com funcionários ativos no sistema.");
                return;
            }
            else
            {
                _repository.Remove(empresaId);
                _UoW.Commit();
            }
        }
        public void Update(EmpresaDTO empresadto)
        {
            var empresa = _repository.GetById(empresadto.Id);

            if (empresa == null)
            {
                Notification.Adicionar("Empresa não encontrada.");
                return;
            }

            empresa.AlteraCNPJ(empresadto.CNPJ);
            empresa.AlteraNome(empresadto.Nome);
            empresa.AlteraDataFundacao(empresadto.DataFundacao);

            Manipulate(empresa, _repository.Update);
        }
        public void AddCargo(int funcionarioId, int cargoId)
        {
            var funcionario = _repository.GetById(funcionarioId);

            if (funcionario?.FuncionariosCargos?.Count > 0 && funcionario.FuncionariosCargos.Any(p => p.CargoId == cargoId))
            {
                Notification.Adicionar("Cargo já vinculado a este funcionário.");
                return;
            }
            else if (funcionario.Empresa == null)
            {
                Notification.Adicionar("Funcionário não vinculado a uma empresa.");
                return;
            }

            funcionario.VinculaCargo(cargoId);
            _UoW.Commit();
        }
예제 #7
0
        public void Remove(int cargoId)
        {
            var cargo = _repository.GetById(cargoId);

            if (cargo == null)
            {
                Notification.Adicionar("Cargo não encontrado.");
                return;
            }

            if (cargo?.FuncionariosCargos?.Count > 0)
            {
                Notification.Adicionar("Não foi possível remover o cargo, pois o mesmo possui vínculos com funcionários ativos no sistema.");
                return;
            }
            else
            {
                _repository.Remove(cargoId);
                _UoW.Commit();
            }
        }