using AIStudio.Wpf.DiagramDesigner; using AIStudio.Wpf.DiagramDesigner.Models; using AIStudio.Wpf.Script.Core.Models; using AIStudio.Wpf.Script.Core.ViewModels; using System.Collections.Generic; namespace AIStudio.Wpf.Script.ViewModels { public class ColorBoxIfScriptViewModel : RoslynScriptViewModel { public ColorBoxIfScriptViewModel() { } public ColorBoxIfScriptViewModel(IDiagramViewModel root) : base(root) { } public ColorBoxIfScriptViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer) { } public ColorBoxIfScriptViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType) { } protected override void InitNew() { base.InitNew(); ItemWidth = 80; ItemHeight = 80; Text = "均衡分配器"; Code = @"using System; using System.Collections.Generic; using AIStudio.Wpf.Script.Core.Models; using System.Windows.Media; using System.Linq; namespace AIStudio.Wpf.CSharpScript { public class ColorBoxIfScript { public int Count1 {private get;set;} public int Count2 {private get;set;} public ColorBoxModel Input {private get; set;} public ColorBoxModel Output1 {get;private set;} public ColorBoxModel Output2 {get;private set;} public void Execute() { if (Input != null) { Console.WriteLine($""等待均衡负载{Input.Text}号Box""); if (Count1 <= Count2) { if (Output1 == null) { Output1 = Input; Input = null; Console.WriteLine($""{Output1.Text}号Box均衡负载完毕,送往1号出口""); } } else { if (Output2 == null) { Output2 = Input; Input = null; Console.WriteLine($""{Output2.Text}号Box均衡负载完毕,送往2号出口""); } } } } } }"; } private List _itemsSource; public List ItemsSource { get { return _itemsSource; } set { SetProperty(ref _itemsSource, value); } } } }