/// <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); }
/// <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); }
/// <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); }