/// <summary> /// Unassigns a value to this part and restores teh current valid /// values to be all possible values. /// </summary> public void UnassignValueAndRestoreDomain() { CurrentValidValues.Clear(); CurrentValidValues.AddRange(AllValues); IsAssigned = false; AssignedValue = null; }
/// <summary> /// Assigns a value to this part. /// </summary> /// <param name="value"></param> public void AssignValue(object value) { CurrentValidValues.Clear(); CurrentValidValues.Add(value); IsAssigned = true; AssignedValue = value; }
public override string ToString() { if (IsAssigned) { return(AssignedValue.ToString()); } else { return(CurrentValidValues.ToString()); } }
/// <summary> /// Removes a value from the list of current valid values. /// </summary> /// <param name="value"></param> public void RemoveValue(object value) { CurrentValidValues.Remove(value); }
/// <summary> /// Creates a copy of the given part. /// </summary> /// <param name="toCopy"></param> public Part(Part toCopy) : this(toCopy.AllValues) { CurrentValidValues.AddRange(toCopy.CurrentValidValues); IsAssigned = toCopy.IsAssigned; AssignedValue = toCopy.AssignedValue; }