Files
aistudio-wpf-diagram/Extensions/AIStudio.Wpf.Script/ViewModels/ColorBoxIfScriptViewModel.cs

97 lines
2.6 KiB
C#
Raw Normal View History

2023-05-01 21:40:41 +08:00
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<ColorBoxModel> _itemsSource;
public List<ColorBoxModel> ItemsSource
{
get
{
return _itemsSource;
}
set
{
SetProperty(ref _itemsSource, value);
}
}
}
}