tools/Elastic.CommonSchema.Generator/Views/AssignableInterfaces.Generated.cshtml (38 lines of code) (raw):
@* ReSharper disable once RedundantUsingDirective *@
@using System
@using System.Linq
@inherits Elastic.CommonSchema.Generator.Views.CodeTemplatePage<Elastic.CommonSchema.Generator.Projection.CommonSchemaTypesProjection>
// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information
/*
IMPORTANT NOTE
==============
This file has been generated.
If you wish to submit a PR please modify the original csharp file and submit the PR with that change. Thanks!
*/
// ReSharper disable RedundantUsingDirective
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using System.Linq;
using System.Net;
using System.Runtime.Serialization;
using System.Text.Json.Serialization;
#nullable enable
namespace Elastic.CommonSchema
{
@foreach (var inlineObject in Model.AssignableInterfaces)
{
var prop = inlineObject.Property;
var implementations = string.Join(", ", inlineObject.Entities.Select(e=>e.Name));
<text>
///<summary> Interface for entities that can assign an @(inlineObject.Name): @(implementations)</summary>
public interface @inlineObject.Name {
///<summary>@prop.JsonProperty</summary>
public @prop.ClrType? @prop.Name { get; set; }
}
</text>
}
}