Exemple #1
0
        private void CreateEndpointsUseCasePanel(IApplication application, ISolutionBuilderViewModel solutionBuilderModel, IUseCase useCase, int position)
        {
            var endpointsVM = new InnerPanelViewModel();

            endpointsVM.Title = "Deployed to the following Endpoints";
            endpointsVM.Items.Add(new InnerPanelTitle
            {
                Product     = useCase.As <IProductElement>(),
                Text        = "Started In",
                ForceText   = true,
                MenuFilters = new string[] { "Add Started By Endpoint" },
                IconPath    = solutionBuilderModel.FindNodeFor(useCase.Parent.As <IProductElement>()).IconPath
            });
            foreach (var endpoint in useCase.EndpointsStartingUseCases)
            {
                endpointsVM.Items.Add(new InnerPanelItem {
                    Product = endpoint.As <IProductElement>(), Text = endpoint.As <IProductElement>().InstanceName
                });
            }
            endpointsVM.Items.Add(new InnerPanelTitle
            {
                Product     = useCase.As <IProductElement>(),
                Text        = "Goes through",
                ForceText   = true,
                MenuFilters = new string[] { },
                IconPath    = solutionBuilderModel.FindNodeFor(useCase.Parent.As <IProductElement>()).IconPath
            });
            foreach (var endpoint in useCase.RelatedEndpoints)
            {
                endpointsVM.Items.Add(new InnerPanelItem {
                    Product = endpoint.As <IProductElement>(), Text = endpoint.As <IProductElement>().InstanceName
                });
            }
            this.SetPanel(position, new LogicalView(new LogicalViewModel(solutionBuilderModel, endpointsVM)));
        }
Exemple #2
0
        private void CreateEventsForUseCasePanel(ISolutionBuilderViewModel solutionBuilderModel, IUseCase useCase, int position)
        {
            var events   = useCase.RelatedEvents;
            var eventsVM = new InnerPanelViewModel();

            eventsVM.Title = "Events";
            var eventsNode = new InnerPanelTitle
            {
                Product     = useCase.As <IProductElement>(),
                Text        = "Events",
                ForceText   = true,
                MenuFilters = new string[] { "Add Event" },
                IconPath    = solutionBuilderModel.FindNodeFor(useCase.Parent.As <IProductElement>()).IconPath
            };

            eventsVM.Items.Add(eventsNode);
            foreach (var service in events.Select(c => c.Parent.Parent.Parent).Distinct())
            {
                eventsVM.Items.Add(new InnerPanelTitle {
                    Product = service.As <IProductElement>(), Text = service.InstanceName
                });
                foreach (var @event in events.Where(c => c.Parent.Parent.Parent == service))
                {
                    eventsVM.Items.Add(new InnerPanelItem {
                        Product = @event.As <IProductElement>(), Text = @event.InstanceName
                    });
                }
            }
            this.SetPanel(position, new LogicalView(new LogicalViewModel(solutionBuilderModel, eventsVM)));
        }
Exemple #3
0
        internal void BuildDetailsForUseCase(IUseCase useCase, ISolutionBuilderViewModel solutionBuilderModel)
        {
            var application = useCase.As <IProductElement>().Root.As <IApplication>();

            this.CleanDetails();

            // Endpoints
            this.CreateEndpointsUseCasePanel(application, solutionBuilderModel, useCase, 0);

            // Components
            this.CreateComponentsForUseCasePanel(solutionBuilderModel, useCase, 1);

            // Commands
            this.CreateCommandsForUseCasePanel(solutionBuilderModel, useCase, 2);

            // Events
            this.CreateEventsForUseCasePanel(solutionBuilderModel, useCase, 3);
        }
 private void CreateEventsForUseCasePanel(ISolutionBuilderViewModel solutionBuilderModel, IUseCase useCase, int position)
 {
     var events = useCase.RelatedEvents;
     var eventsVM = new InnerPanelViewModel();
     eventsVM.Title = "Events";
     var eventsNode = new InnerPanelTitle
     {
         Product = useCase.As<IProductElement>(),
         Text = "Events",
         ForceText = true,
         MenuFilters = new string[] { "Add Event" },
         IconPath = solutionBuilderModel.FindNodeFor(useCase.Parent.As<IProductElement>()).IconPath
     };
     eventsVM.Items.Add(eventsNode);
     foreach (var service in events.Select(c => c.Parent.Parent.Parent).Distinct())
     {
         eventsVM.Items.Add(new InnerPanelTitle { Product = service.As<IProductElement>(), Text = service.InstanceName });
         foreach (var @event in events.Where(c => c.Parent.Parent.Parent == service))
         {
             eventsVM.Items.Add(new InnerPanelItem { Product = @event.As<IProductElement>(), Text = @event.InstanceName });
         }
     }
     this.SetPanel(position, new LogicalView(new LogicalViewModel(solutionBuilderModel, eventsVM)));
 }
 private void CreateEndpointsUseCasePanel(IApplication application, ISolutionBuilderViewModel solutionBuilderModel, IUseCase useCase, int position)
 {
     var endpointsVM = new InnerPanelViewModel();
     endpointsVM.Title = "Deployed to the following Endpoints";
     endpointsVM.Items.Add(new InnerPanelTitle
     {
         Product = useCase.As<IProductElement>(),
         Text = "Started In",
         ForceText = true,
         MenuFilters = new string[] { "Add Started By Endpoint" },
         IconPath = solutionBuilderModel.FindNodeFor(useCase.Parent.As<IProductElement>()).IconPath
     });
     foreach (var endpoint in useCase.EndpointsStartingUseCases)
     {
         endpointsVM.Items.Add(new InnerPanelItem { Product = endpoint.As<IProductElement>(), Text = endpoint.As<IProductElement>().InstanceName });
     }
     endpointsVM.Items.Add(new InnerPanelTitle
     {
         Product = useCase.As<IProductElement>(),
         Text = "Goes through",
         ForceText = true,
         MenuFilters = new string[] { },
         IconPath = solutionBuilderModel.FindNodeFor(useCase.Parent.As<IProductElement>()).IconPath
     });
     foreach (var endpoint in useCase.RelatedEndpoints)
     {
         endpointsVM.Items.Add(new InnerPanelItem { Product = endpoint.As<IProductElement>(), Text = endpoint.As<IProductElement>().InstanceName });
     }
     this.SetPanel(position, new LogicalView(new LogicalViewModel(solutionBuilderModel, endpointsVM)));
 }
        internal void BuildDetailsForUseCase(IUseCase useCase, ISolutionBuilderViewModel solutionBuilderModel)
        {
            var application = useCase.As<IProductElement>().Root.As<IApplication>();

            this.CleanDetails();

            // Endpoints
            this.CreateEndpointsUseCasePanel(application, solutionBuilderModel, useCase, 0);

            // Components
            this.CreateComponentsForUseCasePanel(solutionBuilderModel, useCase, 1);

            // Commands
            this.CreateCommandsForUseCasePanel(solutionBuilderModel, useCase, 2);

            // Events
            this.CreateEventsForUseCasePanel(solutionBuilderModel, useCase, 3);
        }