本文整理汇总了C#中IEvent.As方法的典型用法代码示例。如果您正苦于以下问题:C# IEvent.As方法的具体用法?C# IEvent.As怎么用?C# IEvent.As使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IEvent
的用法示例。
在下文中一共展示了IEvent.As方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BuildDetailsForEvent
public void BuildDetailsForEvent(IEvent iEvent, ISolutionBuilderViewModel solutionBuilderModel)
{
var application = iEvent.As<IProductElement>().Root.As<IApplication>();
var componentsPublishing = application.Design.Services.Service
.SelectMany(s => s.Components.Component.Where(c => c.Publishes.EventLinks.Any(el => el.EventReference.Value == iEvent)));
var componentsSubscribing = application.Design.Services.Service
.SelectMany(s => s.Components.Component.Where(c => c.Subscribes.SubscribedEventLinks.Any(el => el.EventReference.Value == iEvent)));
var endpoints = application.Design.Endpoints.GetAll()
.Where(ep => ep.EndpointComponents.AbstractComponentLinks.Any(cl => componentsPublishing.Contains(cl.ComponentReference.Value) || componentsSubscribing.Contains(cl.ComponentReference.Value)));
this.CleanDetails();
// Endpoints
this.CreateEndpointsPanel(application, solutionBuilderModel, endpoints, 0);
// Components
this.CreateComponentsPanel(solutionBuilderModel, componentsPublishing, 1, "Published by ");
this.CreateComponentsPanel(solutionBuilderModel, componentsSubscribing, 2, "Subscribed by ");
// UseCases
//this.CreateUseCasesPanel(solutionBuilderModel, iEvent.As<IProductElement>(), application, 3);
}