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)); }
public static ApiCrefInfoBuildOutput FromModel(CrefInfo model) { if (model == null) { return(null); } return(new ApiCrefInfoBuildOutput { Type = ApiReferenceBuildOutput.FromUid(model.Type), Description = model.Description, }); }
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, }); }
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); }