/// <summary> /// Translate a OperationImportSegment /// </summary> /// <param name="segment">the segment to Translate</param> /// <returns>Defined by the implementer.</returns> public override string Translate(OperationImportSegment segment) { Debug.Assert(segment != null, "segment != null"); NodeToStringBuilder nodeToStringBuilder = new NodeToStringBuilder(); string res = null; foreach (OperationSegmentParameter operationSegmentParameter in segment.Parameters) { string tmp = nodeToStringBuilder.TranslateNode((QueryNode)operationSegmentParameter.Value); res = String.Concat(res, String.IsNullOrEmpty(res) ? null : ExpressionConstants.SymbolComma, operationSegmentParameter.Name, ExpressionConstants.SymbolEqual, tmp); } return(String.IsNullOrEmpty(res) ? String.Concat("/", segment.Identifier) : String.Concat("/", segment.Identifier, ExpressionConstants.SymbolOpenParen, res, ExpressionConstants.SymbolClosedParen)); }