using System.Collections.Generic; using System.Windows; using DI_Electrical.Event; using Prism.Events; using Prism.Ioc; using SWS.Commons; using SWS.Model; using SWS.Service; using Unity; namespace DI_Electrical.ViewModels { public class ProjectViewModel : DialogBase { private List projects; public List 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; public ProjectViewModel() : base() { title = "项目选择"; _Service = GlobalObject.container.Resolve(); _configService = GlobalObject.container.Resolve(); _eventAggregator= GlobalObject.container.Resolve(); } 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().Publish(o); CloseWindowAction?.Invoke(); } } }