public ConditionItemFacade(ICatalogueCondition condition) { Item = condition; ItemKind = ConditionItemKind.Condition; GetNameFunc = condition.Stringify; GetDetailFunc = null; }
public static string Stringify(this ICatalogueCondition cond) { if (cond == null) { throw new ArgumentNullException(nameof(cond)); } var parentIsRef = cond.ParentKind == ConditionParentKind.Reference; var parent = cond.GetConditionParentRef(); var parentName = !parentIsRef ? string.Empty : (parent == null ? "(ref not found)" : parent.Name); var childIsRef = cond.ChildKind == ConditionChildKind.Reference; var child = cond.GetConditionChildRef(); var childName = !childIsRef ? string.Empty : (child == null ? "(ref not found)" : child.Name); return(cond.ConditionKind == ConditionKind.InstanceOf ? $"{cond.ParentKind} is {cond.ConditionKind} {childName}" : $"{(parentIsRef ? parentName : cond.ParentKind.ToString())}" + $" has {cond.ConditionKind} {cond.ChildValue} {cond.ChildValueUnit}" + $"{(childIsRef ? " of " + childName : string.Empty)}"); }
public static ConditionItemFacade ToFacade(this ICatalogueCondition condition) { return(new ConditionItemFacade(condition)); }