public MetadataRequestField(SdkMessageRequestField field) { Index = field.Index; Name = field.Name; CLRFormatter = field.CLRFormatter; IsOptional = field.IsOptional; }
internal void Fill(Result result) { if (result.SdkMessageRequestFieldPosition.HasValue) { if (!RequestFields.ContainsKey(result.SdkMessageRequestFieldPosition.Value)) { var field = new SdkMessageRequestField(this, result.SdkMessageRequestFieldPosition.Value, result.SdkMessageRequestFieldName, result.SdkMessageRequestFieldClrParser, result.SdkMessageRequestFieldIsOptional); RequestFields.Add(result.SdkMessageRequestFieldPosition.Value, field); } } }
public String GetNameForRequestField( SdkMessageRequest request, SdkMessageRequestField requestField, IServiceProvider services) { return DefaultNamingService.GetNameForRequestField( request, requestField, services); }
static CodeAssignStatement BuildRequestFieldSetStatement(SdkMessageRequestField field) { return AssignValue(PropertyIndexer(ParametersPropertyName, field.Name)); }
static CodeStatement BuildRequestFieldGetStatement(SdkMessageRequestField field, CodeTypeReference targetType) { return If(ContainsParameter(field.Name), Return(Cast(targetType, PropertyIndexer(ParametersPropertyName, field.Name))), Return(new CodeDefaultValueExpression(targetType))); }
static CodeMemberProperty BuildRequestField(SdkMessageRequest request, SdkMessageRequestField field, ServiceProvider serviceProvider) { Trace.TraceInformation("Entering {0}", new object[] {MethodBase.GetCurrentMethod().Name}); var typeForRequestField = serviceProvider.TypeMappingService.GetTypeForRequestField(field, serviceProvider); var property = PropertyGet(typeForRequestField, serviceProvider.NamingService.GetNameForRequestField(request, field, serviceProvider), new CodeStatement[0]); property.HasSet = true; property.HasGet = true; property.GetStatements.Add(BuildRequestFieldGetStatement(field, typeForRequestField)); property.SetStatements.Add(BuildRequestFieldSetStatement(field)); Trace.TraceInformation("Exiting {0}: {1}.Request Property {2} defined", new object[] {MethodBase.GetCurrentMethod().Name, request.Name, property.Name}); return property; }
CodeGenerationType ICodeGenerationService.GetTypeForRequestField(SdkMessageRequest request, SdkMessageRequestField requestField, IServiceProvider services) { return CodeGenerationType.Property; }
string INamingService.GetNameForRequestField(SdkMessageRequest request, SdkMessageRequestField requestField, IServiceProvider services) { if (_knowNames.ContainsKey(request.Id.ToString() + requestField.Index.ToString(CultureInfo.InvariantCulture))) { return _knowNames[request.Id.ToString() + requestField.Index.ToString(CultureInfo.InvariantCulture)]; } var str = CreateValidName(requestField.Name); _knowNames.Add(request.Id.ToString() + requestField.Index.ToString(CultureInfo.InvariantCulture), str); return str; }
public CodeGenerationType GetTypeForRequestField(SdkMessageRequest request, SdkMessageRequestField requestField, IServiceProvider services) { return GetTypeForRequestFieldInternal(request, requestField, services); }
protected virtual CodeGenerationType GetTypeForRequestFieldInternal(SdkMessageRequest request, SdkMessageRequestField requestField, IServiceProvider services) { return _defaultService.GetTypeForRequestField(request, requestField, services); }
CodeTypeReference ITypeMappingService.GetTypeForRequestField(SdkMessageRequestField requestField, IServiceProvider services) { return GetTypeForField(requestField.CLRFormatter, requestField.IsGeneric); }
public string GetNameForRequestField(SdkMessageRequest request, Microsoft.Crm.Services.Utility.SdkMessageRequestField requestField, IServiceProvider services) { return(DefaultNamingService.GetNameForRequestField(request, requestField, services)); }