internal SdkMessageResponse ToSdk(SdkMessage sdk) { var response = new SdkMessageResponse(Id); foreach (var field in ResponseFields) { response.ResponseFields[field.Key] = field.Value; } return response; }
public MetadataResponse(SdkMessageResponse request) { Id = request.Id; ResponseFields = new Dictionary<int, MetadataResponseField>(); foreach (var field in request.ResponseFields) { ResponseFields[field.Key] = new MetadataResponseField(field.Value); } }
internal void Fill(Result result) { if (result.SdkMessageRequestId != Guid.Empty) { if (Request == null) { Request = new SdkMessageRequest(this, result.SdkMessageRequestId, result.SdkMessageRequestName); } Request.Fill(result); } if (result.SdkMessageResponseId != Guid.Empty) { if (Response == null) { Response = new SdkMessageResponse(result.SdkMessageResponseId); } Response.Fill(result); } }
public String GetNameForResponseField( SdkMessageResponse response, SdkMessageResponseField responseField, IServiceProvider services) { return DefaultNamingService.GetNameForResponseField( response, responseField, services); }
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; }
static CodeTypeDeclaration BuildMessageResponse(SdkMessagePair messagePair, SdkMessageResponse sdkMessageResponse, ServiceProvider serviceProvider) { Trace.TraceInformation("Entering {0}", new object[] {MethodBase.GetCurrentMethod().Name}); var declaration = Class(string.Format(CultureInfo.InvariantCulture, "{0}{1}", new object[] {serviceProvider.NamingService.GetNameForMessagePair(messagePair, serviceProvider), ResponseClassSuffix}), ResponseClassBaseType, new[] {Attribute(typeof (DataContractAttribute), new[] {AttributeArg("Namespace", messagePair.MessageNamespace)}), Attribute(typeof (ResponseProxyAttribute), new[] {AttributeArg(null, messagePair.Request.Name)})}); declaration.Members.Add(Constructor(new CodeExpression[0])); if ((sdkMessageResponse != null) && ((sdkMessageResponse.ResponseFields != null) & (sdkMessageResponse.ResponseFields.Count > 0))) { foreach (var field in sdkMessageResponse.ResponseFields.Values) { declaration.Members.Add(BuildResponseField(sdkMessageResponse, field, serviceProvider)); } } else { Trace.TraceInformation("SDK Response Class {0} has not fields", new object[] {declaration.Name}); } Trace.TraceInformation("Exiting {0}: SDK Response Class {1} defined", new object[] {MethodBase.GetCurrentMethod().Name, declaration.Name}); return declaration; }
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); }