示例#1
0
 public ConditionItemFacade(ICatalogueCondition condition)
 {
     Item          = condition;
     ItemKind      = ConditionItemKind.Condition;
     GetNameFunc   = condition.Stringify;
     GetDetailFunc = null;
 }
示例#2
0
        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)}");
        }
示例#3
0
 public static ConditionItemFacade ToFacade(this ICatalogueCondition condition)
 {
     return(new ConditionItemFacade(condition));
 }