Ejemplo n.º 1
0
		public override bool Equals(object obj)
		{
			if (obj == null || GetType() != obj.GetType())
			{
				return false;
			}

			ForeignKeyHelper fkh = (ForeignKeyHelper)obj;
			if (this.ExternColumnName != fkh.ExternColumnName || this.ExternTableName != fkh.ExternTableName)
				return false;
			return true;
		}
Ejemplo n.º 2
0
Archivo: Table.cs Proyecto: nunch/Crud2
 public ForeignKeyHelper getFKHFromColumn(Column column)
 {
     foreach (ForeignKey fk in ForeignKeys)
     {
         ForeignKeyHelper tmp = fk.getHelper(column);
         if (tmp != null)
         {
             return(tmp);
         }
     }
     return(null);
 }
Ejemplo n.º 3
0
        public bool visiteColumn(Column column, Table table, DatabaseXML db)
        {
            ForeignKeyHelper fkh = table.getFKHFromColumn(column);

            if (fkh != null)
            {
                Table externTable;
                try
                {
                    externTable = db.getTableByName(fkh.ExternTableName);
                }
                catch (Exception e)
                {
                    errors.Add(e.Message + " of the database " + db.Name);
                    return(false);
                }
                Column externColumn;
                try
                {
                    externColumn = externTable.getColumnByName(fkh.ExternColumnName);
                }
                catch (Exception e)
                {
                    errors.Add(e.Message + " of the database " + db.Name);
                    return(false);
                }
                if (column.Type == externColumn.Type && column.Length == externColumn.Length)
                {
                    return(true);
                }
                else
                {
                    string s = "Un problème de type de champ est apparue dans une clé étrangère entre le champ " + column.Name + " de la table " + table.Name + " et le champ " + externColumn.Name + " de la table " + externTable;
                    errors.Add(s);
                    return(false);
                }
            }
            return(true);
        }