public void LoadData() { AssemblyModels.Include(t => t.Namespaces).Load(); NamespaceModels.Include(t => t.Types).Load(); Types.Include(t => t.GenericArguments) .Include(t => t.Attributes) .Include(t => t.DeclaringType) .Include(t => t.BaseType) .Include(t => t.ImplementedInterfaces) .Include(t => t.Fields) .Include(t => t.Methods) .Include(t => t.Properties) .Include(t => t.Indexers) .Include(t => t.Events) .Include(t => t.Constructors) .Include(t => t.NestedTypes).Load(); ConstructorModels.Include(t => t.GenericArguments) .Include(t => t.Parameters).Load(); EventModels.Load(); FieldModels.Include(t => t.TypeModel).Load(); IndexerModels.Load(); AttributeModels.Load(); MethodModels.Include(t => t.GenericArguments) .Include(t => t.Parameters).Load(); ParameterModels.Load(); PropertyModels.Include(t => t.propertyMethods).Load(); }
public override string SuccessCallback(bool filterRequired = false) { if (this.IsPagingOperation) { var builder = new IndentedStringBuilder(); builder.AppendLine("{0} result = {1}Delegate(response);", ReturnTypeModel.WireResponseTypeString, this.Name); builder.AppendLine("if (serviceCallback != null) {").Indent(); builder.AppendLine("serviceCallback.load(result.getBody().getItems());"); builder.AppendLine("if (result.getBody().getNextPageLink() != null").Indent().Indent() .AppendLine("&& serviceCallback.progress(result.getBody().getItems()) == ListOperationCallback.PagingBahavior.CONTINUE) {").Outdent(); string invocation; AzureMethodTemplateModel nextMethod = GetPagingNextMethod(out invocation, true); TransformPagingGroupedParameter(builder, nextMethod, filterRequired); var nextCall = string.Format(CultureInfo.InvariantCulture, "{0}(result.getBody().getNextPageLink(), {1});", invocation, filterRequired ? nextMethod.MethodRequiredParameterInvocationWithCallback : nextMethod.MethodParameterInvocationWithCallback); builder.AppendLine(nextCall.Replace( string.Format(", {0}", nextMethod.ParameterModels.First(p => p.Name.StartsWith("next", StringComparison.OrdinalIgnoreCase)).Name), "")).Outdent(); builder.AppendLine("} else {").Indent(); if (ReturnType.Headers == null) { builder.AppendLine("serviceCallback.success(new {0}<>(serviceCallback.get(), result.getResponse()));", ReturnTypeModel.ClientResponseType); } else { builder.AppendLine("serviceCallback.success(new {0}<>(serviceCallback.get(), result.getHeaders(), result.getResponse()));", ReturnTypeModel.ClientResponseType); } builder.Outdent().AppendLine("}").Outdent().AppendLine("}"); if (ReturnType.Headers == null) { builder.AppendLine("serviceCall.success(new {0}<>(result.getBody().getItems(), response));", ReturnTypeModel.ClientResponseType); } else { builder.AppendLine("serviceCall.success(new {0}<>(result.getBody().getItems(), result.getHeaders(), result.getResponse()));", ReturnTypeModel.ClientResponseType); } return(builder.ToString()); } else if (this.IsPagingNextOperation) { var builder = new IndentedStringBuilder(); builder.AppendLine("{0} result = {1}Delegate(response);", ReturnTypeModel.WireResponseTypeString, this.Name); builder.AppendLine("serviceCallback.load(result.getBody().getItems());"); builder.AppendLine("if (result.getBody().getNextPageLink() != null").Indent().Indent(); builder.AppendLine("&& serviceCallback.progress(result.getBody().getItems()) == ListOperationCallback.PagingBahavior.CONTINUE) {").Outdent(); var nextCall = string.Format(CultureInfo.InvariantCulture, "{0}Async(result.getBody().getNextPageLink(), {1});", this.Name, filterRequired ? MethodRequiredParameterInvocationWithCallback : MethodParameterInvocationWithCallback); builder.AppendLine(nextCall.Replace( string.Format(", {0}", ParameterModels.First(p => p.Name.StartsWith("next", StringComparison.OrdinalIgnoreCase)).Name), "")).Outdent(); builder.AppendLine("} else {").Indent(); if (ReturnType.Headers == null) { builder.AppendLine("serviceCallback.success(new {0}<>(serviceCallback.get(), result.getResponse()));", ReturnTypeModel.ClientResponseType); } else { builder.AppendLine("serviceCallback.success(new {0}<>(serviceCallback.get(), result.getHeaders(), result.getResponse()));", ReturnTypeModel.ClientResponseType); } builder.Outdent().AppendLine("}"); return(builder.ToString()); } else if (this.IsPagingNonPollingOperation) { var returnTypeBody = ReturnType.Body as AzureSequenceTypeModel; var builder = new IndentedStringBuilder(); builder.AppendLine("{0}<{1}<{2}>> result = {3}Delegate(response);", ReturnTypeModel.ClientResponseType, returnTypeBody.PageImplType, returnTypeBody.ElementType.Name, this.Name.ToCamelCase()); if (ReturnType.Headers == null) { builder.AppendLine("serviceCallback.success(new {0}<>(result.getBody().getItems(), result.getResponse()));", ReturnTypeModel.ClientResponseType); } else { builder.AppendLine("serviceCallback.success(new {0}<>(result.getBody().getItems(), result.getHeaders(), result.getResponse()));", ReturnTypeModel.ClientResponseType); } return(builder.ToString()); } return(base.SuccessCallback()); }