@@ -100,8 +100,8 @@ public virtual void Write(AngularWriteConfiguration configuration, List<ITransfe
100
100
this . MapType ( controllerLanguage , configurationLanguage , action . ReturnType ) ;
101
101
}
102
102
TypeTemplate returnType = action . ReturnType . ToTemplate ( ) ;
103
- TypeTemplate returnModelType = isEnumerable ? action . ReturnType . Generics . First ( ) . Type . ToTemplate ( ) : returnType ;
104
- ModelTransferObject returnModel = transferObjects . OfType < ModelTransferObject > ( ) . FirstOrDefault ( x => x . Name == returnModelType . Name && x . Namespace == returnModelType . Namespace ) ;
103
+ TypeTransferObject returnModelType = isEnumerable ? action . ReturnType . Generics . First ( ) . Type : action . ReturnType ;
104
+ ModelTransferObject returnModel = returnModelType as ModelTransferObject ?? transferObjects . OfType < ModelTransferObject > ( ) . FirstOrDefault ( x => x . Equals ( returnModelType ) ) ;
105
105
this . AddUsing ( action . ReturnType , classTemplate , configuration , relativeModelPath ) ;
106
106
MethodTemplate methodTemplate = classTemplate . AddMethod ( action . Name , Code . Generic ( "Observable" , returnType ) )
107
107
. FormatName ( configuration ) ;
@@ -114,7 +114,8 @@ public virtual void Write(AngularWriteConfiguration configuration, List<ITransfe
114
114
this . MapType ( controllerLanguage , configurationLanguage , parameter . Type ) ;
115
115
}
116
116
this . AddUsing ( parameter . Type , classTemplate , configuration , relativeModelPath ) ;
117
- ParameterTemplate parameterTemplate = methodTemplate . AddParameter ( parameter . Type . ToTemplate ( ) , parameter . Name ) . FormatName ( configuration ) ;
117
+ string parameterName = this . GetAllowedName ( configuration . Language , parameter . Name ) ;
118
+ ParameterTemplate parameterTemplate = methodTemplate . AddParameter ( parameter . Type . ToTemplate ( ) , parameterName ) . FormatName ( configuration ) ;
118
119
if ( parameter . IsOptional )
119
120
{
120
121
parameterTemplate . Optional ( ) ;
@@ -211,21 +212,11 @@ public virtual void Write(AngularWriteConfiguration configuration, List<ITransfe
211
212
isUrlApiVersion = true ;
212
213
uri = uri . Replace ( apiVersionKey , actionVersion ) ;
213
214
}
214
- if ( ! actionTypeOptions [ action . Type ] ? . UseParameters ?? false )
215
+ foreach ( HttpServiceActionParameterTransferObject parameter in inlineParameters )
215
216
{
216
- foreach ( HttpServiceActionParameterTransferObject parameter in inlineParameters )
217
- {
218
- string [ ] chunks = uri . Split ( new [ ] { $ "{{{parameter.Name}}}" } , StringSplitOptions . RemoveEmptyEntries ) ;
219
- parameterUrl = parameterUrl . Append ( Code . String ( chunks [ 0 ] ) ) . Append ( Code . Local ( parameter . Name ) ) ;
220
- uri = chunks . Length == 1 ? string . Empty : chunks [ 1 ] ;
221
- }
222
- }
223
- else
224
- {
225
- foreach ( HttpServiceActionParameterTransferObject parameter in inlineParameters )
226
- {
227
- uri = uri . Replace ( $ "{{{parameter.Name}}}", string . Empty ) . Replace ( $ "{{{parameter.Name}}}", string . Empty ) ;
228
- }
217
+ string [ ] chunks = uri . Split ( new [ ] { $ "{{{parameter.Name}}}" } , StringSplitOptions . RemoveEmptyEntries ) ;
218
+ parameterUrl = parameterUrl . Append ( Code . String ( chunks [ 0 ] ) ) . Append ( Code . Local ( mapping [ parameter ] ) ) ;
219
+ uri = chunks . Length == 1 ? string . Empty : chunks [ 1 ] ;
229
220
}
230
221
if ( ! string . IsNullOrEmpty ( uri ) )
231
222
{
@@ -237,55 +228,48 @@ public virtual void Write(AngularWriteConfiguration configuration, List<ITransfe
237
228
isFirst = false ;
238
229
parameterUrl = parameterUrl . Append ( Code . String ( $ "?api-version={ actionVersion } ") ) ;
239
230
}
240
- if ( ! actionTypeOptions [ action . Type ] ? . UseParameters ?? false )
231
+ foreach ( HttpServiceActionParameterTransferObject parameter in urlDirectParameters )
241
232
{
242
- foreach ( HttpServiceActionParameterTransferObject parameter in urlDirectParameters )
233
+ if ( isFirst )
243
234
{
244
- if ( isFirst )
245
- {
246
- isFirst = false ;
247
- parameterUrl = parameterUrl . Append ( Code . String ( "?" ) ) . Append ( Code . Local ( parameter . Name ) ) ;
248
- }
249
- else
250
- {
251
- parameterUrl = parameterUrl . Append ( Code . String ( "&" ) ) . Append ( Code . Local ( parameter . Name ) ) ;
252
- }
235
+ isFirst = false ;
236
+ parameterUrl = parameterUrl . Append ( Code . String ( "?" ) ) . Append ( Code . Local ( parameter . Name ) ) ;
237
+ }
238
+ else
239
+ {
240
+ parameterUrl = parameterUrl . Append ( Code . String ( "&" ) ) . Append ( Code . Local ( parameter . Name ) ) ;
241
+ }
242
+ }
243
+ foreach ( HttpServiceActionParameterTransferObject parameter in urlParameters )
244
+ {
245
+ parameterUrl = parameterUrl . Append ( isFirst ? Code . String ( $ "?{ parameter . Name } =") : Code . String ( $ "&{ parameter . Name } =") ) ;
246
+ if ( parameter . FromQuery && parameter . Type . Name == "Array" )
247
+ {
248
+ appendConvertAnyMethod = true ;
249
+ parameterUrl = parameterUrl . Append ( Code . This ( ) . Method ( "convertAny" , Code . Local ( mapping [ parameter ] . Name + "Join" ) ) ) ;
253
250
}
254
- foreach ( HttpServiceActionParameterTransferObject parameter in urlParameters )
251
+ else
255
252
{
256
- string name = mapping [ parameter ] . Name ;
257
- parameterUrl = parameterUrl . Append ( isFirst ? Code . String ( $ "?{ parameter . Name } =") : Code . String ( $ "&{ parameter . Name } =") ) ;
258
- if ( parameter . FromQuery && parameter . Type . Name == "Array" )
253
+ if ( parameter . Type . IgnoreNullable ( ) . Name == "Date" )
259
254
{
260
- appendConvertAnyMethod = true ;
261
- parameterUrl = parameterUrl . Append ( Code . This ( ) . Method ( "convertAny " , Code . Local ( name + "Join" ) ) ) ;
255
+ appendConvertFromDateMethod = true ;
256
+ parameterUrl = parameterUrl . Append ( Code . This ( ) . Method ( "convertFromDate " , Code . Local ( mapping [ parameter ] ) ) ) ;
262
257
}
263
258
else
264
259
{
265
- if ( parameter . Type . IgnoreNullable ( ) . Name == "Date" )
266
- {
267
- appendConvertFromDateMethod = true ;
268
- parameterUrl = parameterUrl . Append ( Code . This ( ) . Method ( "convertFromDate" , Code . Local ( name ) ) ) ;
269
- }
270
- else
271
- {
272
- appendConvertAnyMethod = true ;
273
- parameterUrl = parameterUrl . Append ( Code . This ( ) . Method ( "convertAny" , Code . Local ( name ) ) ) ;
274
- }
260
+ appendConvertAnyMethod = true ;
261
+ parameterUrl = parameterUrl . Append ( Code . This ( ) . Method ( "convertAny" , Code . Local ( mapping [ parameter ] ) ) ) ;
275
262
}
276
- isFirst = false ;
277
263
}
264
+ isFirst = false ;
278
265
}
279
266
ChainedCodeFragment executeAction = Code . This ( ) . Field ( httpField ) ;
280
267
List < ICodeFragment > parameters = new ( ) { parameterUrl } ;
281
268
if ( action . Parameters . Any ( x => x . FromBody ) )
282
269
{
283
270
parameters . Add ( Code . Local ( action . Parameters . Single ( x => x . FromBody ) . Name ) ) ;
284
271
}
285
- if ( actionTypeOptions [ action . Type ] ? . UseParameters ?? false )
286
- {
287
- parameters . AddRange ( inlineParameters . Concat ( urlDirectParameters ) . Concat ( urlParameters ) . Select ( parameter => Code . Local ( parameter . Name ) ) ) ;
288
- }
272
+ parameters . AddRange ( inlineParameters . Concat ( urlDirectParameters ) . Concat ( urlParameters ) . Select ( parameter => Code . Local ( parameter . Name ) ) ) ;
289
273
if ( actionTypeOptions [ action . Type ] ? . HasHttpOptions ?? false )
290
274
{
291
275
parameters . Add ( Code . Local ( "httpOptions" ) ) ;
@@ -649,5 +633,10 @@ private void AppendConvertToDateMethod(ClassTemplate classTemplate)
649
633
)
650
634
) ) ;
651
635
}
636
+
637
+ private string GetAllowedName ( ILanguage language , string name )
638
+ {
639
+ return language . ReservedKeywords . ContainsKey ( name ) ? language . ReservedKeywords [ name ] : name ;
640
+ }
652
641
}
653
642
}
0 commit comments