public CsArguments GetCreationArgs(RelatedUnitsFamily related) { var constructorArgument = TryGetConstructorArgumentFromPowerOneUnit(related); if (constructorArgument is null) { constructorArgument = EffectiveValue.CsEncode(); } return(new CsArguments(constructorArgument)); }
private string TryGetConstructorArgumentFromPowerOneUnit(RelatedUnitsFamily related) { if (_baseSource == null || _baseSourcePower < 2) { return(null); } var unitOne = related.Other[1]; var search = _baseSource.EffectiveValue; var unitOneUnit = unitOne.Units .SingleOrDefault(a => a.UnitShortCode.EffectiveValue == search); var powerOneContainer = related.MyInfo.PowerOne.Container; if (unitOneUnit != null) { return(powerOneContainer.GetTypename() + "." + unitOneUnit.FieldName); } return(null); }