internal HistoryEntry(IDecision decision, IEATaggedValue taggedValue) { TaggedValueGUID = taggedValue.GUID; Decision = decision; if (IsHistoryTag(taggedValue.Name)) { Deserialize(taggedValue.Value); } else { throw new Exception(); } }
public void RemoveTaggedValueByGUID(string tagGUID) { for (short i = 0; i < TaggedValues.Count; i++) { IEATaggedValue tv = TaggedValues[i]; if (tv.GUID.Equals(tagGUID)) { _native.TaggedValues.Delete(i); _native.TaggedValues.Refresh(); return; // Only delete one TaggedValue } } }
public ForceEvaluation(IDecision decision, IEATaggedValue taggedValue) { TaggedValueGUID = taggedValue.GUID; _decisionGUID = decision.GUID; if (IsForceTag(taggedValue.Name)) { DeserializeName(taggedValue.Name); Result = taggedValue.Value; } else { throw new NotAForceTaggedValue(); } }
/// <summary> /// Implements IEAElement.RemoveTaggedValue(string name, string data) /// </summary> /// <param name="name"></param> /// <param name="data"></param> public void RemoveTaggedValue(string name, string data) { for (short i = 0; i < TaggedValues.Count; i++) { IEATaggedValue tv = TaggedValues[i]; if (tv.Name.Equals(name) && tv.Value.Equals(data)) { _native.TaggedValues.Delete(i); _native.TaggedValues.Refresh(); return; // Only delete one TaggedValue } } }
public void DiscardChanges() { if ("".Equals(TaggedValueGUID)) { //no changes have been saved to the repository, its a fresh history entry } else { IEARepository repository = EAMain.Repository; //should not happen, need to know where the History Entry should be loaded from. if (null == Decision) { throw new Exception(); } IEAElement element = repository.GetElementByGUID(Decision.GUID); IEATaggedValue taggedValue = element.GetTaggedValueByGUID(TaggedValueGUID); Deserialize(taggedValue.Value); } }