Skip to content

Commit 6b38325

Browse files
author
Robert Anderson
committed
Fixes in preparation for bringing Excel into the .NET Graph SDK.
1 parent 5a6aacb commit 6b38325

File tree

9 files changed

+30
-11
lines changed

9 files changed

+30
-11
lines changed

Templates/CSharp/Base/EntityRequestBuilder.Base.template.tt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ public string GetMethodProperties(OdcmClass entity)
297297

298298
foreach (var param in requiredParameters)
299299
{
300-
var paramVariableName = param.Name.ToLowerFirstChar();
300+
var paramVariableName = param.Name.GetSanitizedParameterName();
301301
var paramTypeString = param.Type.GetTypeString();
302302

303303
if (param.IsCollection)
@@ -316,7 +316,7 @@ public string GetMethodProperties(OdcmClass entity)
316316

317317
foreach (var param in optionalParameters)
318318
{
319-
var paramVariableName = param.Name.ToLowerFirstChar();
319+
var paramVariableName = param.Name.GetSanitizedParameterName();
320320
var paramTypeString = param.Type.GetTypeString();
321321

322322
if (param.IsCollection)

Templates/CSharp/Base/IEntityRequestBuilder.Base.template.tt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ public string GetMethodProperties(OdcmClass entity)
236236

237237
foreach (var param in requiredParameters)
238238
{
239-
var paramVariableName = param.Name.ToLowerFirstChar();
239+
var paramVariableName = param.Name.GetSanitizedParameterName();
240240
var paramTypeString = param.Type.GetTypeString();
241241

242242
if (param.IsCollection)
@@ -251,7 +251,7 @@ public string GetMethodProperties(OdcmClass entity)
251251

252252
foreach (var param in optionalParameters)
253253
{
254-
var paramVariableName = param.Name.ToLowerFirstChar();
254+
var paramVariableName = param.Name.GetSanitizedParameterName();
255255
var paramTypeString = param.Type.GetTypeString();
256256

257257
if (param.IsCollection)

Templates/CSharp/Model/MethodRequestBody.cs.tt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ namespace <#=method.Namespace.GetNamespaceName()#>
1919
{
2020
using System;
2121
using System.Collections.Generic;
22+
using System.IO;
2223
using System.Runtime.Serialization;
2324

2425
/// <summary>

Templates/CSharp/Requests/EntityRequestBuilder.cs.tt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ namespace <#=this.GetNamespaceName(entity)#>
1111
{
1212
using System;
1313
using System.Collections.Generic;
14+
using System.IO;
1415

1516
<#=this.GetEntityRequestBuilderClassDefinition(entity)#>
1617
{

Templates/CSharp/Requests/IEntityRequestBuilder.cs.tt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ namespace <#=this.GetNamespaceName(entity)#>
1414
{
1515
using System;
1616
using System.Collections.Generic;
17+
using System.IO;
1718

1819
<#=this.GetEntityRequestBuilderInterfaceDefinition(entity)#>
1920
{

Templates/CSharp/Requests/IMethodRequestBuilder.cs.tt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ namespace <#=method.Namespace.GetNamespaceName()#>
1313
{
1414
using System;
1515
using System.Collections.Generic;
16+
using System.IO;
1617

1718
/// <summary>
1819
/// The interface I<#=requestBuilderType#>.

Templates/CSharp/Requests/MethodRequest.cs.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ namespace <#=method.Namespace.GetNamespaceName()#>
164164
else if (returnsStream)
165165
{
166166
#>
167-
return this.SendStreamRequestAsync(null, httpCompletionOption, cancellationToken);
167+
return this.SendStreamRequestAsync(null, cancellationToken, httpCompletionOption);
168168
<#
169169
}
170170
else if (!string.IsNullOrEmpty(sendAsyncReturnType))

Templates/CSharp/Requests/MethodRequestBuilder.cs.tt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ var methods = overloads
2424
{
2525
var type = p.Type.GetTypeString();
2626
var name = p.Name.ToLowerFirstChar();
27+
var parameterName = p.Name.GetSanitizedParameterName();
28+
var propertyName = p.Name.ToCheckedCase();
2729

2830
if (p.IsCollection)
2931
{
@@ -34,12 +36,12 @@ var methods = overloads
3436
type += "?";
3537
}
3638

37-
return new { Type = type, Name = name, IsNullable = p.IsNullable };
39+
return new { Type = type, Name = name, ParameterName = parameterName, PropertyName = propertyName, IsNullable = p.IsNullable };
3840
})
3941
.OrderBy(p => p.IsNullable ? 1 : 0);
4042

41-
var paramStrings = parameters.Select(p => string.Format(",\n {0} {1}", p.Type, p.Name));
42-
var paramComments = parameters.Select(p => string.Format("\n /// <param name=\"{0}\">A {0} parameter for the OData method call.</param>", p.Name));
43+
var paramStrings = parameters.Select(p => string.Format(",\n {0} {1}", p.Type, p.ParameterName));
44+
var paramComments = parameters.Select(p => string.Format("\n /// <param name=\"{0}\">A {0} parameter for the OData method call.</param>", p.ParameterName));
4345

4446
return new
4547
{
@@ -55,6 +57,7 @@ namespace Microsoft.Graph
5557
{
5658
using System;
5759
using System.Collections.Generic;
60+
using System.IO;
5861

5962
/// <summary>
6063
/// The type DriveItemDeltaRequestBuilder.
@@ -79,7 +82,7 @@ foreach (var m in methods)
7982
foreach (var p in m.Parameters)
8083
{
8184
#>
82-
SetParameter("<#=p.Name#>", <#=p.Name#>, <#=p.IsNullable.ToString().ToLowerInvariant()#>);
85+
SetParameter("<#=p.Name#>", <#=p.ParameterName#>, <#=p.IsNullable.ToString().ToLowerInvariant()#>);
8386
<#
8487
}
8588
#>
@@ -107,7 +110,7 @@ foreach (var m in methods)
107110
{
108111
#>
109112
if (HasParameter("<#=p.Name#>"))
110-
request.RequestBody.<#=p.Name.ToCheckedCase()#> = GetParameter<<#=p.Type#>>("<#=p.Name#>");
113+
request.RequestBody.<#=p.PropertyName#> = GetParameter<<#=p.Type#>>("<#=p.Name#>");
111114

112115
<#
113116
}

src/GraphODataTemplateWriter/CodeHelpers/CSharp/TypeHelperCSharp.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Microsoft.Graph.ODataTemplateWriter.CodeHelpers.CSharp
99

1010
public static class TypeHelperCSharp
1111
{
12-
public const string DefaultReservedPrefix = "_";
12+
public const string DefaultReservedPrefix = "@";
1313
public static ICollection<string> GetReservedNames()
1414
{
1515
return new HashSet<string>(StringComparer.Ordinal)
@@ -214,6 +214,18 @@ public static string GetSanitizedPropertyName(this string property, string prefi
214214
return property;
215215
}
216216

217+
public static string GetSanitizedParameterName(this string parameter, string prefix = null)
218+
{
219+
if (GetReservedNames().Contains(parameter))
220+
{
221+
var reservedPrefix = string.IsNullOrEmpty(prefix) ? DefaultReservedPrefix : prefix;
222+
223+
return string.Concat(reservedPrefix, parameter.ToLowerFirstChar());
224+
}
225+
226+
return parameter;
227+
}
228+
217229
public static string GetToLowerImport(this OdcmProperty property)
218230
{
219231
var type = property.Projection.Type;

0 commit comments

Comments
 (0)