//Persistir e inserir um novo registro
        private bool inserir(AssociadoAreaAtuacao OAssociadoAreaAtuacao)
        {
            OAssociadoAreaAtuacao.setDefaultInsertValues();

            db.AssociadoAreaAtuacao.Add(OAssociadoAreaAtuacao);

            db.SaveChanges();

            return(OAssociadoAreaAtuacao.id > 0);
        }
        //Definir se é um insert ou update e enviar o registro para o banco de dados
        public bool salvar(AssociadoAreaAtuacao OAssociadoAreaAtuacao)
        {
            OAssociadoAreaAtuacao.AreaAtuacao = null;

            if (OAssociadoAreaAtuacao.id == 0)
            {
                return(this.inserir(OAssociadoAreaAtuacao));
            }
            return(this.atualizar(OAssociadoAreaAtuacao));
        }
        //Verificar se já existe registrar dentro do mesmo período para evitar duplicidades
        public bool existe(AssociadoAreaAtuacao OAssociadoAreaAtuacao, int idDesconsiderado)
        {
            var query = (from PesCar in db.AssociadoAreaAtuacao
                         where PesCar.id != idDesconsiderado && PesCar.flagExcluido == "N"
                         select PesCar).AsNoTracking();

            query = query.condicoesSeguranca();

            query = query.Where(x => x.idAssociado == OAssociadoAreaAtuacao.idAssociado);
            query = query.Where(x => x.idAreaAtuacao == OAssociadoAreaAtuacao.idAreaAtuacao);
            query = query.Where(x => x.observacao1 == OAssociadoAreaAtuacao.observacao1);
            query = query.Where(x => x.observacao2 == OAssociadoAreaAtuacao.observacao2);

            var Item = query.FirstOrDefault();

            return(Item != null);
        }
        //Persistir e atualizar um registro existente
        private bool atualizar(AssociadoAreaAtuacao OAssociadoAreaAtuacao)
        {
            //Localizar existentes no banco
            AssociadoAreaAtuacao dbAreaAtuacao = this.carregar(OAssociadoAreaAtuacao.id);

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

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

            //Atualização da Empresa
            var AreaAtuacaoEntry = db.Entry(dbAreaAtuacao);

            AreaAtuacaoEntry.CurrentValues.SetValues(OAssociadoAreaAtuacao);
            AreaAtuacaoEntry.ignoreFields(new [] { "idAssociado", "ativo" });

            db.SaveChanges();

            return(OAssociadoAreaAtuacao.id > 0);
        }