private bool inserir(ConfiguracaoTexto OConfiguracao)
        {
            OConfiguracao.setDefaultInsertValues();

            db.ConfiguracaoTexto.Add(OConfiguracao);

            db.SaveChanges();

            CacheService.getInstance.limparCacheOrganizacao(User.idOrganizacao(), chaveCacheLista);

            return(OConfiguracao.id > 0);
        }
        //
        public bool salvar(ConfiguracaoTexto OConfiguracoes)
        {
            OConfiguracoes.UsuarioSistema = null;

            OConfiguracoes.key = OConfiguracoes.key.ToLower();

            if (OConfiguracoes.id > 0)
            {
                return(this.atualizar(OConfiguracoes));
            }

            return(this.inserir(OConfiguracoes));
        }
        //Persistir o objecto e atualizar informações
        private bool atualizar(ConfiguracaoTexto OConfiguracao)
        {
            OConfiguracao.setDefaultUpdateValues();

            //Localizar existentes no banco
            ConfiguracaoTexto dbConfiguracaoTexto = this.carregar(OConfiguracao.id, User.idOrganizacao(), false);

            var ConfiguracaoTextoEntry = db.Entry(dbConfiguracaoTexto);

            ConfiguracaoTextoEntry.CurrentValues.SetValues(OConfiguracao);

            ConfiguracaoTextoEntry.ignoreFields();

            db.SaveChanges();

            return(OConfiguracao.id > 0);
        }
        private void carregarListaTextos()
        {
            var query = OConfiguracaoTextoBL.query(User.idOrganizacao()).Where(x => x.key == this.key);

            this.ConfiguracaoTextoPadrao = query.FirstOrDefault(x => x.idIdioma == null) ?? new ConfiguracaoTexto();

            if (!this.listaIdiomas.Any())
            {
                return;
            }

            var listaTextos = query.Where(x => x.idIdioma > 0)
                              .Select(x => new {
                x.id,
                x.idIdioma,
                x.texto
            }).ToListJsonObject <ConfiguracaoTexto>();

            var listaConfiguracaoSubmit = this.listaConfiguracaoTexto;

            this.listaConfiguracaoTexto = new List <ConfiguracaoTexto>();

            foreach (var OIdioma in this.listaIdiomas)
            {
                var OTexto = new ConfiguracaoTexto();

                if (this.listaConfiguracaoTexto.Any())
                {
                    OTexto = listaConfiguracaoSubmit.FirstOrDefault(x => x.idIdioma == OIdioma.id) ?? new ConfiguracaoTexto();
                }

                if (OTexto.id == 0)
                {
                    OTexto = listaTextos.FirstOrDefault(x => x.idIdioma == OIdioma.id) ?? new ConfiguracaoTexto();
                }

                OTexto.idIdioma = OIdioma.id;
                OTexto.Idioma   = OIdioma;

                this.listaConfiguracaoTexto.Add(OTexto);
            }
        }