@@ -26,100 +26,108 @@ public partial class ClassTemplate : ClassTemplateBase
2626 public virtual string TransformText ( )
2727 {
2828 this . Write ( "using System;\r \n using System.Collections.Generic;\r \n using System.Text.Json.Serializ" +
29- "ation;\r \n using Linq2GraphQL.Client;\r \n \r \n namespace " ) ;
29+ "ation;\r \n using Linq2GraphQL.Client;\r \n using Linq2GraphQL.Client.Common;\r \n \r \n namespa" +
30+ "ce " ) ;
3031
31- #line 8 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
32+ #line 9 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
3233 this . Write ( this . ToStringHelper . ToStringWithCulture ( namespaceName ) ) ;
3334
3435 #line default
3536 #line hidden
3637 this . Write ( ";\r \n \r \n " ) ;
3738
38- #line 10 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
39+ #line 11 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
3940 if ( classType . AllFields . Any ( e => e . IsMethod ) ) {
4041
4142 #line default
4243 #line hidden
4344 this . Write ( "public static class " ) ;
4445
45- #line 11 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
46+ #line 12 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
4647 this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . Name ) ) ;
4748
4849 #line default
4950 #line hidden
5051 this . Write ( "Extensions\r \n {\r \n " ) ;
5152
52- #line 13 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
53+ #line 14 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
5354 foreach ( var field in classType . AllFields . Where ( e => e . IsMethod ) ) {
5455
5556 #line default
5657 #line hidden
5758 this . Write ( " [GraphMethod(\" " ) ;
5859
59- #line 14 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
60+ #line 15 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
6061 this . Write ( this . ToStringHelper . ToStringWithCulture ( field . Name ) ) ;
6162
6263 #line default
6364 #line hidden
6465 this . Write ( "\" )]\r \n public static " ) ;
6566
66- #line 15 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
67+ #line 16 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
6768 this . Write ( this . ToStringHelper . ToStringWithCulture ( GetFieldCSharpName ( field ) ) ) ;
6869
6970 #line default
7071 #line hidden
7172 this . Write ( " " ) ;
7273
73- #line 15 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
74+ #line 16 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
7475 this . Write ( this . ToStringHelper . ToStringWithCulture ( field . CSharpName ) ) ;
7576
7677 #line default
7778 #line hidden
7879 this . Write ( "(this " ) ;
7980
80- #line 15 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
81+ #line 16 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
8182 this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . Name ) ) ;
8283
8384 #line default
8485 #line hidden
8586 this . Write ( " " ) ;
8687
87- #line 15 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
88+ #line 16 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
8889 this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . Name . ToCamelCase ( ) ) ) ;
8990
9091 #line default
9192 #line hidden
9293 this . Write ( ", " ) ;
9394
94- #line 15 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
95+ #line 16 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
9596 this . Write ( this . ToStringHelper . ToStringWithCulture ( field . GetArgString ( true ) ) ) ;
9697
9798 #line default
9899 #line hidden
99- this . Write ( ")\r \n {\r \n \t return " ) ;
100+ this . Write ( ")\r \n {\r \n \t return order.GetMethodValue< " ) ;
100101
101- #line 17 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
102- this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . Name . ToCamelCase ( ) ) ) ;
102+ #line 18 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
103+ this . Write ( this . ToStringHelper . ToStringWithCulture ( GetFieldCSharpName ( field ) ) ) ;
103104
104105 #line default
105106 #line hidden
106- this . Write ( "?. " ) ;
107+ this . Write ( ">( \" " ) ;
107108
108- #line 17 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
109- this . Write ( this . ToStringHelper . ToStringWithCulture ( field . CSharpName ) ) ;
109+ #line 18 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
110+ this . Write ( this . ToStringHelper . ToStringWithCulture ( field . Name ) ) ;
111+
112+ #line default
113+ #line hidden
114+ this . Write ( "\" , " ) ;
115+
116+ #line 18 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
117+ this . Write ( this . ToStringHelper . ToStringWithCulture ( field . GetArgNames ( ) ) ) ;
110118
111119 #line default
112120 #line hidden
113- this . Write ( ";\r \n }\r \n \r \n " ) ;
121+ this . Write ( ") ;\r \n }\r \n \r \n " ) ;
114122
115- #line 20 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
123+ #line 21 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
116124 }
117125
118126 #line default
119127 #line hidden
120128 this . Write ( "}\r \n \r \n " ) ;
121129
122- #line 23 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
130+ #line 24 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
123131
124132 }
125133
@@ -128,70 +136,140 @@ public virtual string TransformText()
128136 #line hidden
129137 this . Write ( "public partial class " ) ;
130138
131- #line 26 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
139+ #line 27 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
132140 this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . Name ) ) ;
133141
134142 #line default
135143 #line hidden
136144 this . Write ( " " ) ;
137145
138- #line 26 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
139- this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . GetInterfacesString ( ) ) ) ;
146+ #line 27 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
147+ this . Write ( this . ToStringHelper . ToStringWithCulture ( classType . GetInterfacesString ( "GraphQLTypeBase" ) ) ) ;
140148
141149 #line default
142150 #line hidden
143151 this . Write ( "\r \n {\r \n " ) ;
144152
145- #line 28 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
153+ #line 29 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
146154 foreach ( var field in classType . AllFields ) {
147155
148156 #line default
149157 #line hidden
150158
151- #line 29 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
159+ #line 30 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
152160 if ( field . IsMethod ) {
153161
154162 #line default
155163 #line hidden
156- this . Write ( " /// <summary>\r \n /// Do not use in Query, only to retrive result\r \n /// <" +
157- "/summary>\r \n [GraphShadowProperty]\r \n " ) ;
164+ this . Write ( "\r \n private LazyProperty<" ) ;
158165
159- #line 34 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
160- }
166+ #line 32 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
167+ this . Write ( this . ToStringHelper . ToStringWithCulture ( GetFieldCSharpName ( field ) ) ) ;
168+
169+ #line default
170+ #line hidden
171+ this . Write ( "> _" ) ;
172+
173+ #line 32 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
174+ this . Write ( this . ToStringHelper . ToStringWithCulture ( field . Name ) ) ;
175+
176+ #line default
177+ #line hidden
178+ this . Write ( " = new();\r \n /// <summary>\r \n /// Do not use in Query, only to retrive result" +
179+ "\r \n /// </summary>\r \n [GraphShadowProperty]\r \n public " ) ;
180+
181+ #line 37 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
182+ this . Write ( this . ToStringHelper . ToStringWithCulture ( GetFieldCSharpName ( field ) ) ) ;
183+
184+ #line default
185+ #line hidden
186+ this . Write ( " " ) ;
187+
188+ #line 37 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
189+ this . Write ( this . ToStringHelper . ToStringWithCulture ( field . CSharpName ) ) ;
161190
162191 #line default
163192 #line hidden
164- this . Write ( "\t [JsonPropertyName( \" " ) ;
193+ this . Write ( " => _ " ) ;
165194
166- #line 35 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
195+ #line 37 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
196+ this . Write ( this . ToStringHelper . ToStringWithCulture ( field . Name ) ) ;
197+
198+ #line default
199+ #line hidden
200+ this . Write ( ".Value(() => GetFirstMethodValue<" ) ;
201+
202+ #line 37 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
203+ this . Write ( this . ToStringHelper . ToStringWithCulture ( GetFieldCSharpName ( field ) ) ) ;
204+
205+ #line default
206+ #line hidden
207+ this . Write ( ">(\" " ) ;
208+
209+ #line 37 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
210+ this . Write ( this . ToStringHelper . ToStringWithCulture ( field . Name ) ) ;
211+
212+ #line default
213+ #line hidden
214+ this . Write ( "\" ));\r \n // public " ) ;
215+
216+ #line 38 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
217+ this . Write ( this . ToStringHelper . ToStringWithCulture ( GetFieldCSharpName ( field ) ) ) ;
218+
219+ #line default
220+ #line hidden
221+ this . Write ( " " ) ;
222+
223+ #line 38 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
224+ this . Write ( this . ToStringHelper . ToStringWithCulture ( field . CSharpName ) ) ;
225+
226+ #line default
227+ #line hidden
228+ this . Write ( " { get; set; } \r \n \r \n " ) ;
229+
230+ #line 40 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
231+ } else {
232+
233+ #line default
234+ #line hidden
235+ this . Write ( " [JsonPropertyName(\" " ) ;
236+
237+ #line 41 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
167238 this . Write ( this . ToStringHelper . ToStringWithCulture ( field . Name ) ) ;
168239
169240 #line default
170241 #line hidden
171242 this . Write ( "\" )]\r \n \t public " ) ;
172243
173- #line 36 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
244+ #line 42 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
174245 this . Write ( this . ToStringHelper . ToStringWithCulture ( GetFieldCSharpName ( field ) ) ) ;
175246
176247 #line default
177248 #line hidden
178249 this . Write ( " " ) ;
179250
180- #line 36 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
251+ #line 42 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
181252 this . Write ( this . ToStringHelper . ToStringWithCulture ( field . CSharpName ) ) ;
182253
183254 #line default
184255 #line hidden
185256 this . Write ( " { get; set; } \r \n \r \n " ) ;
186257
187- #line 38 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
258+ #line 44 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
188259 }
189260
190261 #line default
191262 #line hidden
192263 this . Write ( "\r \n " ) ;
193264
194- #line 40 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
265+ #line 46 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
266+ }
267+
268+ #line default
269+ #line hidden
270+ this . Write ( "\r \n \r \n \r \n \r \n " ) ;
271+
272+ #line 51 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
195273
196274 if ( classType . HasInterfaces )
197275 {
@@ -202,7 +280,7 @@ public virtual string TransformText()
202280 this . Write ( " [JsonPropertyName(\" __typename\" )]\r \n public string __TypeName { get; set; }\r " +
203281 "\n " ) ;
204282
205- #line 46 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
283+ #line 57 "C:\Code\Github\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Class\ClassTemplate.tt"
206284
207285 }
208286
0 commit comments