public MetadataResponseField(SdkMessageResponseField field)
 {
     Index = field.Index;
     Name = field.Name;
     CLRFormatter = field.CLRFormatter;
     Value = field.Value;
 }
Exemplo n.º 2
0
 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);
         }
     }
 }
Exemplo n.º 3
0
 public String GetNameForResponseField(
     SdkMessageResponse response, SdkMessageResponseField responseField,
     IServiceProvider services)
 {
     return DefaultNamingService.GetNameForResponseField(
         response, responseField, services);
 }
Exemplo n.º 4
0
 static CodeStatement BuildResponseFieldGetStatement(SdkMessageResponseField field, CodeTypeReference targetType)
 {
     return If(ContainsResult(field.Name), Return(Cast(targetType, PropertyIndexer(ResultsPropertyName, field.Name))), Return(new CodeDefaultValueExpression(targetType)));
 }
Exemplo n.º 5
0
 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;
 }
Exemplo n.º 6
0
 CodeGenerationType ICodeGenerationService.GetTypeForResponseField(SdkMessageResponse response, SdkMessageResponseField responseField, IServiceProvider services)
 {
     return CodeGenerationType.Property;
 }
Exemplo n.º 7
0
 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);
 }
Exemplo n.º 10
0
 CodeTypeReference ITypeMappingService.GetTypeForResponseField(SdkMessageResponseField responseField, IServiceProvider services)
 {
     return GetTypeForField(responseField.CLRFormatter, false);
 }