45 lines
1.0 KiB
C#
45 lines
1.0 KiB
C#
|
using Godot;
|
||
|
using System;
|
||
|
using System.Linq;
|
||
|
using BITKit;
|
||
|
|
||
|
namespace BITFactory;
|
||
|
public partial class ProductionTraceService : Node
|
||
|
{
|
||
|
private static IDatabaseContext<SearchResult> Context;
|
||
|
[Export] private UXContainer container;
|
||
|
[ExportCategory("快速绑定")]
|
||
|
[Export] private UXContainer searchContainer;
|
||
|
[Export] private Label searchResultLabel;
|
||
|
[Export] private Button submitButton;
|
||
|
[Export] private LineEdit searchInput;
|
||
|
private void Search(string key)
|
||
|
{
|
||
|
Context.TrySearchArray(x=>x.Key.Contains(key) || x.Id.Contains(key) || x.Display.Contains(key), out var result);
|
||
|
switch (result.Length)
|
||
|
{
|
||
|
case > 1:
|
||
|
Entry(result);
|
||
|
break;
|
||
|
case 1:
|
||
|
Entry(result[0]);
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
private void Entry(SearchResult result)
|
||
|
{
|
||
|
container.titleLabel.Text = result.Key;
|
||
|
container.Text = result.Display;
|
||
|
}
|
||
|
private void Entry(SearchResult[] results)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
public override void _Ready()
|
||
|
{
|
||
|
Context = new SqlLiteContext<SearchResult>();
|
||
|
BIT4Log.Log<ProductionTraceService>("正在初始化生产追溯服务");
|
||
|
}
|
||
|
}
|