protected virtual string PerformItem(IProviderFacet ipf, ApproachLocationItem item) { var desc = item.ToString(); var toLocName = item.ToSubstLocName; E090SubstLocObserver toLocObs = null; if (toLocName.IsNullOrEmpty() && !item.SubstID.IsEmpty) { var substObs = new E090SubstObserver(item.SubstID); if (!substObs.Info.IsValid) { return("{0} failed: given approach substrate ID is not valid [{1}]".CheckedFormat(desc, item.SubstID)); } toLocName = substObs.Info.LocID; toLocObs = GetSubstLocObserver(toLocName); if (toLocObs == null) { return("{0} failed: given approach substrate is not currently at a supported location [{1}]".CheckedFormat(desc, toLocName)); } } else { toLocObs = GetSubstLocObserver(item.ToSubstLocName); if (toLocObs == null) { return("{0} failed: given approach to location is not supported here [{1}]".CheckedFormat(desc, toLocName)); } } return(InnerPerformApproach(ipf, item, toLocObs, desc)); }
protected virtual string InnerPerformApproach(IProviderFacet ipf, ApproachLocationItem item, E090SubstLocObserver toLocObs, string desc) { return("{0}.{1} has not been implemented [{2}]".CheckedFormat(CurrentClassLeafName, CurrentMethodName, desc)); }
protected virtual string InnerPerformSwapSubstrates(IProviderFacet ipf, E090SubstObserver substObs, E090SubstLocObserver fromLocObs, E090SubstObserver swapWithSubstObs, E090SubstLocObserver swapAtLocObs, string desc) { return("{0}.{1} has not been implemented [{2}]".CheckedFormat(CurrentClassLeafName, CurrentMethodName, desc)); }