Example #1
0
        public static ApiBuildOutput FromModel(PageViewModel model)
        {
            if (model == null || model.Items == null || model.Items.Count == 0)
            {
                return(null);
            }

            var metadata   = model.Metadata;
            var references = new Dictionary <string, ApiReferenceBuildOutput>();

            foreach (var item in model.References)
            {
                if (!string.IsNullOrEmpty(item.Uid))
                {
                    references[item.Uid] = ApiReferenceBuildOutput.FromModel(item, model.Items[0].SupportedLanguages);
                }
            }

            // Add other items to reference, override the one in reference with same uid
            foreach (var item in model.Items.Skip(1))
            {
                if (!string.IsNullOrEmpty(item.Uid))
                {
                    references[item.Uid] = ApiReferenceBuildOutput.FromModel(item);
                }
            }

            return(FromModel(model.Items[0], references, metadata));
        }
Example #2
0
        public static ApiCrefInfoBuildOutput FromModel(CrefInfo model)
        {
            if (model == null)
            {
                return(null);
            }

            return(new ApiCrefInfoBuildOutput
            {
                Type = ApiReferenceBuildOutput.FromUid(model.Type),
                Description = model.Description,
            });
        }
Example #3
0
        public static ApiParameterBuildOutput FromModel(ApiParameter model)
        {
            if (model == null)
            {
                return(null);
            }

            return(new ApiParameterBuildOutput
            {
                Name = model.Name,
                Type = ApiReferenceBuildOutput.FromUid(model.Type),
                Description = model.Description,
            });
        }
Example #4
0
        public static ApiReferenceBuildOutput GetReferenceViewModel(string key, Dictionary <string, ApiReferenceBuildOutput> references, string[] supportedLanguages)
        {
            if (string.IsNullOrEmpty(key))
            {
                return(null);
            }

            ApiReferenceBuildOutput ervm;

            if (!references.TryGetValue(key, out ervm))
            {
                var spec = GetXref(key);
                ervm = new ApiReferenceBuildOutput
                {
                    Spec = ApiReferenceBuildOutput.GetSpecNames(GetXref(key), supportedLanguages),
                };
            }
            else
            {
                ervm.Expand(references, supportedLanguages);
            }

            return(ervm);
        }