public MetadataResponseField(SdkMessageResponseField field) { Index = field.Index; Name = field.Name; CLRFormatter = field.CLRFormatter; Value = field.Value; }
internal void Fill(Result result) { if (result.SdkMessageResponseFieldPosition.HasValue) { if (!ResponseFields.ContainsKey(result.SdkMessageResponseFieldPosition.Value)) { var field = new SdkMessageResponseField(result.SdkMessageResponseFieldPosition.Value, result.SdkMessageResponseFieldName, result.SdkMessageResponseFieldClrFormatter, result.SdkMessageResponseFieldValue); ResponseFields.Add(result.SdkMessageResponseFieldPosition.Value, field); } } }
public String GetNameForResponseField( SdkMessageResponse response, SdkMessageResponseField responseField, IServiceProvider services) { return DefaultNamingService.GetNameForResponseField( response, responseField, services); }
static CodeStatement BuildResponseFieldGetStatement(SdkMessageResponseField field, CodeTypeReference targetType) { return If(ContainsResult(field.Name), Return(Cast(targetType, PropertyIndexer(ResultsPropertyName, field.Name))), Return(new CodeDefaultValueExpression(targetType))); }
static CodeMemberProperty BuildResponseField(SdkMessageResponse response, SdkMessageResponseField field, ServiceProvider serviceProvider) { Trace.TraceInformation("Entering {0}", new object[] {MethodBase.GetCurrentMethod().Name}); var typeForResponseField = serviceProvider.TypeMappingService.GetTypeForResponseField(field, serviceProvider); var property = PropertyGet(typeForResponseField, serviceProvider.NamingService.GetNameForResponseField(response, field, serviceProvider), new CodeStatement[0]); property.HasSet = false; property.HasGet = true; property.GetStatements.Add(BuildResponseFieldGetStatement(field, typeForResponseField)); Trace.TraceInformation("Exiting {0}: {1}.Response Property {2} defined", new object[] {MethodBase.GetCurrentMethod().Name, response.Id, property.Name}); return property; }
CodeGenerationType ICodeGenerationService.GetTypeForResponseField(SdkMessageResponse response, SdkMessageResponseField responseField, IServiceProvider services) { return CodeGenerationType.Property; }
string INamingService.GetNameForResponseField(SdkMessageResponse response, SdkMessageResponseField responseField, IServiceProvider services) { if (_knowNames.ContainsKey(response.Id.ToString() + responseField.Index.ToString(CultureInfo.InvariantCulture))) { return _knowNames[response.Id.ToString() + responseField.Index.ToString(CultureInfo.InvariantCulture)]; } var str = CreateValidName(responseField.Name); _knowNames.Add(response.Id.ToString() + responseField.Index.ToString(CultureInfo.InvariantCulture), str); return str; }
public CodeGenerationType GetTypeForResponseField(SdkMessageResponse response, SdkMessageResponseField responseField, IServiceProvider services) { return GetTypeForResponseFieldInternal(response, responseField, services); }
protected virtual CodeGenerationType GetTypeForResponseFieldInternal(SdkMessageResponse response, SdkMessageResponseField responseField, IServiceProvider services) { return _defaultService.GetTypeForResponseField(response, responseField, services); }
CodeTypeReference ITypeMappingService.GetTypeForResponseField(SdkMessageResponseField responseField, IServiceProvider services) { return GetTypeForField(responseField.CLRFormatter, false); }