private static ApiBuildOutput FromModel(ItemViewModel model, Dictionary <string, ApiReferenceBuildOutput> references, Dictionary <string, object> metadata) { if (model == null) { return(null); } var output = new ApiBuildOutput { Uid = model.Uid, Id = Utility.GetHtmlId(model.Uid), IsExplicitInterfaceImplementation = model.IsExplicitInterfaceImplementation, IsExtensionMethod = model.IsExtensionMethod, Parent = ApiBuildOutputUtility.GetReferenceViewModel(model.Parent, references, model.SupportedLanguages), Children = GetReferenceList(model.Children, references, model.SupportedLanguages), Href = model.Href, SupportedLanguages = model.SupportedLanguages, Name = ApiBuildOutputUtility.TransformToLanguagePairList(model.Name, model.Names, model.SupportedLanguages), NameWithType = ApiBuildOutputUtility.TransformToLanguagePairList(model.NameWithType, model.NamesWithType, model.SupportedLanguages), FullName = ApiBuildOutputUtility.TransformToLanguagePairList(model.FullName, model.FullNames, model.SupportedLanguages), Type = model.Type, Source = model.Source, Documentation = model.Documentation, AssemblyNameList = model.AssemblyNameList, NamespaceName = ApiBuildOutputUtility.GetReferenceViewModel(model.NamespaceName, references, model.SupportedLanguages), Summary = model.Summary, Remarks = model.Remarks, Examples = model.Examples, Syntax = ApiSyntaxBuildOutput.FromModel(model.Syntax, references, model.SupportedLanguages), Overridden = ApiBuildOutputUtility.GetApiNames(model.Overridden, references, model.SupportedLanguages), Overload = ApiBuildOutputUtility.GetApiNames(model.Overload, references, model.SupportedLanguages), Exceptions = GetCrefInfoList(model.Exceptions, references, model.SupportedLanguages), SeeAlsos = GetLinkInfoList(model.SeeAlsos, references, model.SupportedLanguages), Sees = GetLinkInfoList(model.Sees, references, model.SupportedLanguages), Inheritance = GetReferenceList(model.Inheritance, references, model.SupportedLanguages, true), Implements = model.Implements?.Select(u => ApiBuildOutputUtility.GetApiNames(u, references, model.SupportedLanguages)).ToList(), InheritedMembers = GetReferenceList(model.InheritedMembers, references, model.SupportedLanguages), ExtensionMethods = GetReferenceList(model.ExtensionMethods, references, model.SupportedLanguages), Conceptual = model.Conceptual, Platform = model.Platform, Attributes = model.Attributes, Metadata = metadata.Concat(model.Metadata.Where(p => !metadata.Keys.Contains(p.Key))).ToDictionary(p => p.Key, p => p.Value), }; output.DerivedClasses = GetReferenceList(model.DerivedClasses, references, model.SupportedLanguages, true, output.Level + 1); return(output); }
private static ApiBuildOutput FromModel(ItemViewModel model, Dictionary<string, ApiReferenceBuildOutput> references, Dictionary<string, object> metadata) { if (model == null) return null; var output = new ApiBuildOutput { Uid = model.Uid, Id = Utility.GetHtmlId(model.Uid), IsExplicitInterfaceImplementation = model.IsExplicitInterfaceImplementation, IsExtensionMethod = model.IsExtensionMethod, Parent = ApiBuildOutputUtility.GetReferenceViewModel(model.Parent, references, model.SupportedLanguages), Children = GetReferenceList(model.Children, references, model.SupportedLanguages), Href = model.Href, SupportedLanguages = model.SupportedLanguages, Name = ApiBuildOutputUtility.TransformToLanguagePairList(model.Name, model.Names, model.SupportedLanguages), NameWithType = ApiBuildOutputUtility.TransformToLanguagePairList(model.NameWithType, model.NamesWithType, model.SupportedLanguages), FullName = ApiBuildOutputUtility.TransformToLanguagePairList(model.FullName, model.FullNames, model.SupportedLanguages), Type = model.Type, Source = model.Source, Documentation = model.Documentation, AssemblyNameList = model.AssemblyNameList, NamespaceName = ApiBuildOutputUtility.GetReferenceViewModel(model.NamespaceName, references, model.SupportedLanguages), Summary = model.Summary, Remarks = model.Remarks, Examples = model.Examples, Syntax = ApiSyntaxBuildOutput.FromModel(model.Syntax, references, model.SupportedLanguages), Overridden = ApiBuildOutputUtility.GetApiNames(model.Overridden, references, model.SupportedLanguages), Overload = ApiBuildOutputUtility.GetApiNames(model.Overload, references, model.SupportedLanguages), Exceptions = GetCrefInfoList(model.Exceptions, references, model.SupportedLanguages), SeeAlsos = GetLinkInfoList(model.SeeAlsos, references, model.SupportedLanguages), Sees = GetLinkInfoList(model.Sees, references, model.SupportedLanguages), Inheritance = GetReferenceList(model.Inheritance, references, model.SupportedLanguages, true), Implements = model.Implements?.Select(u => ApiBuildOutputUtility.GetApiNames(u, references, model.SupportedLanguages)).ToList(), InheritedMembers = GetReferenceList(model.InheritedMembers, references, model.SupportedLanguages), ExtensionMethods = GetReferenceList(model.ExtensionMethods, references, model.SupportedLanguages), Conceptual = model.Conceptual, Platform = model.Platform, Attributes = model.Attributes, Metadata = metadata.Concat(model.Metadata.Where(p => !metadata.Keys.Contains(p.Key))).ToDictionary(p => p.Key, p => p.Value), }; output.DerivedClasses = GetReferenceList(model.DerivedClasses, references, model.SupportedLanguages, true, output.Level + 1); return output; }