private static IOperation CreateInstanceFrom(this IOperation result, ITemplatedOperation templatedOperation) { var proxy = result.Unwrap(); proxy.SetProperty(MethodPropertyInfo, templatedOperation.Method); result.Expects.AddRange(templatedOperation.Expects); result.Returns.AddRange(templatedOperation.Returns); result.ExpectedHeaders.AddRange(templatedOperation.ExpectedHeaders); result.ReturnedHeaders.AddRange(templatedOperation.ReturnedHeaders); return(result); }
/// <summary>Expands an URI template with given variables.</summary> /// <param name="templatedOperation">Templated operation.</param> /// <param name="mappedVariables">Template variables mapping builder.</param> /// <returns>Expanded templated resource.</returns> public static IOperation ExpandTarget(ITemplatedOperation templatedOperation, Action <MappingsBuilder> mappedVariables) { return(TemplatedResource <IOperation> .ExpandTarget(templatedOperation, mappedVariables, GetNextIri()) .CreateInstanceFrom(templatedOperation)); }
/// <summary>Expands an URI template with given variables.</summary> /// <param name="templatedOperation">Templated operation.</param> /// <param name="mappedVariables">Template variables with value.</param> /// <returns>Expanded templated resource.</returns> public static IOperation ExpandTarget(ITemplatedOperation templatedOperation, IDictionary <string, string> mappedVariables) { return(TemplatedResource <IOperation> .ExpandTarget(templatedOperation, mappedVariables, GetNextIri()) .CreateInstanceFrom(templatedOperation)); }