示例#1
0
        /// <summary>
        /// Clona el objeto ColumnConstraints en una nueva instancia.
        /// </summary>
        public ConstraintColumns Clone()
        {
            ConstraintColumns columns = new ConstraintColumns(this.Parent);

            for (int index = 0; index < this.Count; index++)
            {
                columns.Add(this[index].Clone());
            }
            return(columns);
        }
示例#2
0
 /// <summary>
 /// Compara dos campos y devuelve true si son iguales, caso contrario, devuelve false.
 /// </summary>
 public static Boolean Compare(ConstraintColumns origen, ConstraintColumns destino)
 {
     if (destino == null)
     {
         throw new ArgumentNullException("destino");
     }
     if (origen == null)
     {
         throw new ArgumentNullException("origen");
     }
     if (origen.Count != destino.Count)
     {
         return(false);
     }
     for (int j = 0; j < origen.Count; j++)
     {
         ConstraintColumn item = destino[origen[j].FullName];
         if (item == null)
         {
             return(false);
         }
         else
         if (!ConstraintColumn.Compare(origen[j], item))
         {
             return(false);
         }
     }
     for (int j = 0; j < destino.Count; j++)
     {
         ConstraintColumn item = origen[destino[j].FullName];
         if (item == null)
         {
             return(false);
         }
         else
         if (!ConstraintColumn.Compare(destino[j], item))
         {
             return(false);
         }
     }
     return(true);
 }
示例#3
0
 /// <summary>
 /// Compara dos campos y devuelve true si son iguales, caso contrario, devuelve false.
 /// </summary>
 public static Boolean Compare(Constraint origen, Constraint destino)
 {
     if (destino == null)
     {
         throw new ArgumentNullException("destino");
     }
     if (origen == null)
     {
         throw new ArgumentNullException("origen");
     }
     if (origen.NotForReplication != destino.NotForReplication)
     {
         return(false);
     }
     if ((origen.RelationalTableFullName == null) && (destino.RelationalTableFullName != null))
     {
         return(false);
     }
     if (origen.RelationalTableFullName != null)
     {
         if (!origen.RelationalTableFullName.Equals(destino.RelationalTableFullName, StringComparison.CurrentCultureIgnoreCase))
         {
             return(false);
         }
     }
     if ((origen.Definition == null) && (destino.Definition != null))
     {
         return(false);
     }
     if (origen.Definition != null)
     {
         if ((!origen.Definition.Equals(destino.Definition)) && (!origen.Definition.Equals("(" + destino.Definition + ")")))
         {
             return(false);
         }
     }
     /*Solo si la constraint esta habilitada, se chequea el is_trusted*/
     if (!destino.IsDisabled)
     {
         if (origen.WithNoCheck != destino.WithNoCheck)
         {
             return(false);
         }
     }
     if (origen.OnUpdateCascade != destino.OnUpdateCascade)
     {
         return(false);
     }
     if (origen.OnDeleteCascade != destino.OnDeleteCascade)
     {
         return(false);
     }
     if (!ConstraintColumns.Compare(origen.Columns, destino.Columns))
     {
         return(false);
     }
     if ((origen.Index != null) && (destino.Index != null))
     {
         return(Index.Compare(origen.Index, destino.Index));
     }
     return(true);
 }