//Realizar os tratamentos necessários
        //Salvar um novo registro
        public bool salvar(SetorAtuacao OSetorAtuacao)
        {
            if (OSetorAtuacao.id == 0)
            {
                return(this.inserir(OSetorAtuacao));
            }

            return(this.atualizar(OSetorAtuacao));
        }
        // Verificar se já existe um registro com a descrição informada, no entanto, que possua id diferente do informado
        public bool existe(SetorAtuacao OSetorAtuacao, int id)
        {
            var query = from T in db.SetorAtuacao
                        where T.descricao == OSetorAtuacao.descricao && T.id != id && T.flagExcluido == false
                        select T;

            query = query.condicoesSeguranca();

            var OItem = query.Take(1).FirstOrDefault();

            return(OItem != null);
        }
        //Persistir e inserir um novo registro
        //Inserir SetorAtuacao
        private bool inserir(SetorAtuacao OSetorAtuacao)
        {
            OSetorAtuacao.setDefaultInsertValues <SetorAtuacao>();

            OSetorAtuacao.flagSistema = false;

            db.SetorAtuacao.Add(OSetorAtuacao);

            db.SaveChanges();

            return(OSetorAtuacao.id > 0);
        }
        //Persistir e atualizar um registro existente
        //Atualizar dados da SetorAtuacao
        private bool atualizar(SetorAtuacao OSetorAtuacao)
        {
            //Localizar existentes no banco
            SetorAtuacao dbSetorAtuacao = this.carregar(OSetorAtuacao.id);

            if (dbSetorAtuacao == null)
            {
                return(false);
            }

            //Configurar valores padrão
            OSetorAtuacao.setDefaultUpdateValues();

            //Atualizacao da SetorAtuacao
            var SetorAtuacaoEntry = db.Entry(dbSetorAtuacao);

            SetorAtuacaoEntry.CurrentValues.SetValues(OSetorAtuacao);
            SetorAtuacaoEntry.ignoreFields();

            db.SaveChanges();

            return(OSetorAtuacao.id > 0);
        }