コード例 #1
0
ファイル: YLibrary.cs プロジェクト: yurimhb/YLibrary
        public virtual void PersistirTodasEntidades(Object entidade)
        {
            configuracao.SEMPRE_VERIFICAR_BANCO = true;
            List <Persist> lst = ListaPersistEntidade = fabrica.CriarPersist(entidade);

            String[] colunas = fabrica.CriarColunas(lst);
            String   tabela  = auxiliar.CriarNomeTabela(entidade);

            auxiliar.VerificaTabelaBanco(lst, tabela, entidade);
            configuracao.SEMPRE_VERIFICAR_BANCO = false;
        }
コード例 #2
0
ファイル: Auxiliar.cs プロジェクト: yurimhb/YLibrary
        /// <summary>
        /// Insere uma coluna no banco referente ao metodo da entidade.
        /// </summary>
        public void AlterTable(String tabela, List <Persist> param, Object o)
        {
            if (!(bool)configuracao.ALTERA_TABELA)
            {
                throw new System.ArgumentException("A tabela " + tabela + " referente a entidade " + o.GetType().ToString() + " possui colunas diferentes", "YLibrary");
            }

            string alter = @"ALTER TABLE {0} ADD ";

            alter = String.Format(alter, tabela);
            foreach (Persist s in param)
            {
                if (VerificaTipo(s.Type.Name.ToUpper()))
                {
                    alter += " {0} " + dao.DbTipo(s.Type.Name.ToString().ToUpper(), configuracao);
                    alter  = String.Format(alter, s.DscNome);
                }
                else
                {
                    if (s.ObjValor == null)
                    {
                        o = Activator.CreateInstance(s.Type);
                    }
                    else
                    {
                        o = s.ObjValor;
                    }
                    List <Persist> obj = fabrica.CriarPersist(o);
                    tabela = CriarNomeTabela(o);
                    alter += s.DscNome.ToLower() + " int FOREIGN KEY REFERENCES " + tabela + "(" + s.DscNome.ToLower() + "), ";
                    VerificaTabelaBanco(obj, tabela, o);
                }
            }
            alter = alter.Substring(0, alter.Length - 2);
            dao.ExecuteNonQuery(alter);
        }