CHEN-ZW\acer d3813c8d56 Merge branch 'main' of http://27.154.35.18:7053/yuxingheng/009_DI-Elec
# Conflicts:
#	newFront/c#前端/SWS.CAD/Start.cs
2025-10-21 13:57:39 +08:00

140 lines
10 KiB
C#

using System.Linq;
using System.Reflection;
using System;
using System.Windows;
using Prism.DryIoc;
using Prism.Events;
using Prism.Ioc;
using Prism.Services.Dialogs;
using SWS.CAD.ViewModels;
using SWS.CAD.Views;
using SWS.CAD.Views.Dialog;
using SWS.Commons;
using SWS.Service;
using SWS.WPF.ViewModels;
using SWS.WPF.Views;
using Telerik.Windows.Controls;
using Unity;
namespace SWS.CAD
{
public class Start
{
public static void RegisterTypes()
{
try
{
GlobalObject.container = new UnityContainer();
// 启用诊断
GlobalObject.container.AddExtension(new Diagnostic());
GlobalObject.container.RegisterSingleton<IEventAggregator, EventAggregator>();
GlobalObject.container.RegisterSingleton<HttpService>();
GlobalObject.container.RegisterSingleton<ConfigService>();
GlobalObject.container.RegisterSingleton<AnnexesService>();
GlobalObject.container.RegisterSingleton<DataItemService>();
GlobalObject.container.RegisterSingleton<DrawingServce>();
GlobalObject.container.RegisterSingleton<LoginService>();
GlobalObject.container.RegisterSingleton<NotificationService>();
GlobalObject.container.RegisterSingleton<ObjectTypeService>();
GlobalObject.container.RegisterSingleton<ProjectService>();
GlobalObject.container.RegisterSingleton<TemplateFileService>();
GlobalObject.container.RegisterSingleton<UserService>();
GlobalObject.container.RegisterSingleton<EnginedataService>();
//GlobalObject.container.RegisterSingleton<ResourceService>();
GlobalObject.container.RegisterSingleton<DrawingCatalogueService>();
GlobalObject.container.RegisterSingleton<WireGroupService>();
GlobalObject.container.RegisterSingleton<IOModuleService>();
GlobalObject.container.RegisterSingleton<PDBService>();
GlobalObject.container.RegisterSingleton<RelService>();
GlobalObject._prismContainer = new DryIocContainerExtension();
GlobalObject._prismContainer.Register<IDialogService, DialogService>();
GlobalObject._prismContainer.Register<IDialogWindow, Views.Dialog.CustomDialogWindow>();
//后者类似于一个容器。给所有需要的dialog所用
GlobalObject._prismContainer.RegisterDialog<NewDrawing, NewDrawingViewModel>();
GlobalObject._prismContainer.RegisterDialog<Dialog2Select, Dialog2SelectViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogUnitSelect, DialogUnitSelectViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogInput, DialogInputViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogTagSelect, DialogTagSelectViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogNewTagNumber, DialogNewTagNumberViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogParallelCable, DialogParallelCableViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogPreCheckIn, DialogPreCheckInViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogDrawingCatalogue, DialogDrawingCatalogueViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCheckInRecord, DialogCheckInRecordViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogPublishRecord, DialogPublishRecordViewModel>();
GlobalObject._prismContainer.RegisterDialog<SWS.WPF.Views.DialogSignalManagement, SWS.WPF.ViewModels.DialogSignalManagementViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogAllOutputSignal, DialogAllOutputSignalViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogAssociatedSignal, DialogAssociatedSignalViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogOperateRecord, DialogOperateRecordViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogPropertyHistory, DialogPropertyHistoryViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogSignalNotice, DialogSignalNoticeViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogSignalPropertyhisAndLogs, DialogSignalPropertyhisAndLogsViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogSignalSelect, DialogSignalSelectViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogIODistribution, DialogIODistributionViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogNewPositional, DialogNewPositionalViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogNewStrip, DialogNewStripViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCablePreAssignPreview, DialogCablePreAssignPreviewViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCablePreAssignResult, DialogCablePreAssignResultViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogNewComponent, DialogNewComponentViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCableConfig, DialogCableConfigViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogBusbarManagement, DialogBusbarManagementViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogChannelMigration, DialogChannelMigrationViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCableConnection, DialogCableConnectionViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCableConnection_NewStrip, DialogCableConnection_NewStripViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogSignalPredistribution, DialogSignalPredistributionViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogSectionBox, DialogSectionBoxViewModel>();
}
catch (System.Exception ex)
{
// 记录异常详细信息
MessageBox.Show($"启动时发生错误: {ex.ToString()}", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
}
GlobalObject._prismContainer = new DryIocContainerExtension();
GlobalObject._prismContainer.Register<IDialogService, DialogService>();
GlobalObject._prismContainer.Register<IDialogWindow, Views.Dialog.CustomDialogWindow>();
//后者类似于一个容器。给所有需要的dialog所用
GlobalObject._prismContainer.RegisterDialog<NewDrawing, NewDrawingViewModel>();
GlobalObject._prismContainer.RegisterDialog<Dialog2Select, Dialog2SelectViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogUnitSelect, DialogUnitSelectViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogInput, DialogInputViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogTagSelect, DialogTagSelectViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogNewTagNumber, DialogNewTagNumberViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogParallelCable, DialogParallelCableViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogPreCheckIn, DialogPreCheckInViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogDrawingCatalogue, DialogDrawingCatalogueViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCheckInRecord, DialogCheckInRecordViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogPublishRecord, DialogPublishRecordViewModel>();
GlobalObject._prismContainer.RegisterDialog<SWS.WPF.Views.DialogSignalManagement,SWS.WPF.ViewModels.DialogSignalManagementViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogAllOutputSignal, DialogAllOutputSignalViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogAssociatedSignal, DialogAssociatedSignalViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogOperateRecord, DialogOperateRecordViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogPropertyHistory, DialogPropertyHistoryViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogSignalNotice, DialogSignalNoticeViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogSignalPropertyhisAndLogs, DialogSignalPropertyhisAndLogsViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogSignalSelect, DialogSignalSelectViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogIODistribution, DialogIODistributionViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogNewPositional, DialogNewPositionalViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogNewStrip, DialogNewStripViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCablePreAssignPreview, DialogCablePreAssignPreviewViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCablePreAssignResult, DialogCablePreAssignResultViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogNewComponent, DialogNewComponentViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCableConfig, DialogCableConfigViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogBusbarManagement, DialogBusbarManagementViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogChannelMigration, DialogChannelMigrationViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCableConnection, DialogCableConnectionViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogCableConnection_NewStrip, DialogCableConnection_NewStripViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogSignalPredistribution, DialogSignalPredistributionViewModel>();
GlobalObject._prismContainer.RegisterDialog<DialogSectionBox, DialogSectionBoxViewModel>();
}
}
}