XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEWorkflow

【WinUI】XFE基于windows的工作流

公开
关注 0 Fork 0 Star 0
UTF-8
using XFEWorkflow.Core.Runtime;
using XFEWorkflow.Views;

namespace XFEWorkflow.Services;

internal static partial class UiSmokeTest
{
    private static async Task SmokeDockedReconnectAsync(string output)
    {
        var navigation = AppShellPage.Current!.ViewModel.NavigationViewService;
        var workflow = WorkflowTemplates.CreateGraph(); workflow.Name = "端点拖动实测"; workflow.Enabled = false;
        await AppServices.Current.Workflows.SaveAsync(workflow);
        var root = (FrameworkElement)App.MainWindow.Content; var previousTheme = root.RequestedTheme;
        try
        {
            root.RequestedTheme = ElementTheme.Light;
            navigation.NavigateTo<WorkflowEditorPage>();
            await WaitManagementAsync(() => Descendants<Frame>(root).Any(x => x.Content is WorkflowEditorPage));
            var editor = await WorkflowEditorPage.Current!.OpenAsync(workflow.Id);
            await Task.Delay(250);
            var folder = Path.Combine(output, "docked-editor"); Directory.CreateDirectory(folder);
            await editor.SmokeReconnectAsync(folder);
        }
        finally
        {
            await WorkflowEditorPage.CloseOpenAsync(workflow.Id);
            navigation.NavigateTo<MainPage>(); root.RequestedTheme = previousTheme;
            await Task.Delay(250);
        }
    }
}