@using System.Linq; @using System.Collections.Generic @using System @using AutoRest.Core.Model @using AutoRest.Core.Utilities @using AutoRest.CSharp @using AutoRest.CSharp.Model @using AutoRest.Extensions @inherits AutoRest.Core.Template @if(true) { var target = Model.ForwardTo as MethodCs; var varsSource = new Dictionary(); var varsTarget = new Dictionary(); foreach (var p in Model.LocalParameters) varsSource[p.SerializedName] = p.Name; foreach (var p in target.LocalParameters) varsTarget[p.SerializedName] = p.Name; var vars = target.LocalParameters.Select(p => p.SerializedName).ToList(); Action addAdditionalParameter = paramName => { vars.Add(paramName); varsSource.Add(paramName, paramName); varsTarget.Add(paramName, paramName); }; addAdditionalParameter("customHeaders"); addAdditionalParameter("cancellationToken"); var indent = "\n "; var ps = string.Join("," + indent, vars.Select(v => $"{varsTarget[v]}: {(varsSource.ContainsKey(v) ? varsSource[v] : target.LocalParameters.First(p => p.SerializedName == v).ActualDefaultValue)}")); if (ps != "") ps = indent + ps; @:return await @(target.MethodReference)WithHttpMessagesAsync(@ps); }