69 lines
2.1 KiB
C#
Raw Normal View History

2025-08-15 15:25:44 +08:00
using System.Collections.Generic;
using System.Windows;
using DI_Electrical.Event;
using Prism.Events;
using Prism.Ioc;
2025-09-04 18:28:02 +08:00
using SWS.Commons;
using SWS.Model;
using SWS.Service;
using Unity;
2025-08-15 15:25:44 +08:00
namespace DI_Electrical.ViewModels
{
public class ProjectViewModel : DialogBase
{
private List<ec_project> projects;
public List<ec_project> Projects
{
get { return this.projects; }
set
{
this.projects = value;
RaisePropertyChanged(nameof(Projects));
}
}
private ec_project _select;
public ec_project select
{
get { return _select; }
set { _select = value; RaisePropertyChanged(nameof(select)); }
}
ProjectService _Service;
ConfigService _configService;
IEventAggregator _eventAggregator;
2025-09-04 18:28:02 +08:00
public ProjectViewModel() : base()
2025-08-15 15:25:44 +08:00
{
title = "项目选择";
2025-09-04 18:28:02 +08:00
_Service = GlobalObject.container.Resolve<ProjectService>();
_configService = GlobalObject.container.Resolve<ConfigService>();
_eventAggregator= GlobalObject.container.Resolve<IEventAggregator>();
2025-08-15 15:25:44 +08:00
}
public async override void onWindow_loaded(object para)
{
Projects = (await _Service.GetProjects(1, 200)).Rows;
base.onWindow_loaded(para);
}
public override async void ExecuteOKCommandAsync(object para)
{
if (select == null)
{
MessageBox.Show("请选择一个项目。");
return;
}
_configService.Save(nameof(ConfigIni.ProjectID), select.ProjectId);
GlobalObject.curProject = select;
IsBusy = true;
BusyContent = "项目加载中...";
var userName = _configService.Read(nameof(ConfigIni.UserName));
var o = await _Service.InitProjInfo(GlobalObject.curProject.ProjectId, userName);
IsBusy = false;
_eventAggregator.GetEvent<loginEvent>().Publish(o);
CloseWindowAction?.Invoke();
}
}
}