Example #1
0
 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();
 }
Example #2
0
 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());
 }