@using System.Linq @using ApiGenerator.Domain @using ApiGenerator @using ApiGenerator.Domain.Code @inherits CodeTemplatePage @{ await IncludeGeneratorNotice(); } // ReSharper disable RedundantUsingDirective using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using OpenSearch.Net; @{ await IncludeAsync("LowLevel/Client/Usings.cshtml", Model);} using static OpenSearch.Net.HttpMethod; @{ var namespaces = Model.EndpointsPerNamespaceLowLevel.Keys.Where(k => k != CsharpNames.RootNamespace).ToList(); // ReSharper disable InterpolatedStringExpressionIsNotIFormattable // ReSharper disable RedundantExtendsListEntry namespace OpenSearch.Net { /// ///OpenSearch low level client /// public partial class OpenSearchLowLevelClient : IOpenSearchLowLevelClient { foreach (var ns in namespaces) { public @(CsharpNames.LowLevelClientNamespacePrefix)@(ns)@(CsharpNames.ClientNamespaceSuffix) @ns { get; private set; } } partial void SetupGeneratedNamespaces() { foreach (var ns in namespaces) { @ns = new @(CsharpNames.LowLevelClientNamespacePrefix)@(ns)@(CsharpNames.ClientNamespaceSuffix)(this); } } foreach (var (ns, endpoints) in Model.EndpointsPerNamespaceLowLevel) { if (ns != CsharpNames.RootNamespace) { continue; } var methods = endpoints.SelectMany(e=>e.LowLevelClientMethods).ToList(); foreach (var method in methods) { await IncludeAsync("LowLevel/Client/Methods/MethodImplementation.cshtml", method); } } } } }