148 lines
5.4 KiB
C#
148 lines
5.4 KiB
C#
using Cowain.Bake.BLL;
|
||
using Cowain.Bake.Common.Enums;
|
||
using Cowain.Bake.Communication.MOM;
|
||
using Cowain.Bake.Model;
|
||
using Newtonsoft.Json;
|
||
using Prism.Commands;
|
||
using Prism.Events;
|
||
using Prism.Mvvm;
|
||
using System.Windows.Input;
|
||
using Unity;
|
||
using static Cowain.Bake.Common.Models.MESModel;
|
||
|
||
namespace Cowain.Bake.UI.UserManagerment.ViewModels
|
||
{
|
||
public class DeviceModeViewModel : BindableBase
|
||
{
|
||
TDeviceConfig dev;
|
||
private string _userName;
|
||
public string UserName
|
||
{
|
||
get { return _userName; }
|
||
set
|
||
{
|
||
SetProperty(ref _userName, value);
|
||
}
|
||
}
|
||
private string _userPwa;
|
||
public string UserPwa
|
||
{
|
||
get { return _userPwa; }
|
||
set
|
||
{
|
||
SetProperty(ref _userPwa, value);
|
||
}
|
||
}
|
||
private string _url;
|
||
public string Url
|
||
{
|
||
get { return _url; }
|
||
set
|
||
{
|
||
SetProperty(ref _url, value);
|
||
}
|
||
}
|
||
|
||
private int _selectedRadioButtonIndex;
|
||
public int SelectedRadioButtonIndex
|
||
{
|
||
get { return _selectedRadioButtonIndex; }
|
||
set
|
||
{
|
||
SetProperty(ref _selectedRadioButtonIndex, value);
|
||
}
|
||
}
|
||
public class CloseWindowEvent : PubSubEvent
|
||
{
|
||
public CloseWindowEvent()
|
||
{
|
||
|
||
}
|
||
}
|
||
private IEventAggregator _eventAggregator;
|
||
private IUnityContainer _unityContainer;
|
||
public DeviceModeViewModel(IUnityContainer unityContainer, IEventAggregator eventAggregator)
|
||
{
|
||
//初始化数据库连接池
|
||
_unityContainer = unityContainer;
|
||
_eventAggregator = eventAggregator;
|
||
string v = _unityContainer.Resolve<BLL.SysSetupService>().GetValueByParaID(ESysSetup.MOMMode.ToString());
|
||
SelectedRadioButtonIndex = int.Parse(v);
|
||
dev = _unityContainer.Resolve<DeviceConfigService>().GetConfig(EDeviceType.MOM)[0];
|
||
dynamic d = JsonConvert.DeserializeObject<dynamic>(dev.Json);
|
||
_url = d.URL;
|
||
|
||
}
|
||
|
||
public ICommand ExitCommand
|
||
{
|
||
get => new DelegateCommand<object>(OnExit);
|
||
}
|
||
|
||
public ICommand SwitchCommand
|
||
{
|
||
get => new DelegateCommand<object>(OnSwitch);
|
||
}
|
||
|
||
//public ICommand MesIpUpdateCommand
|
||
//{
|
||
// get => new DelegateCommand<object>(OnMesUpdate);
|
||
//}
|
||
|
||
private void OnExit(object obj )
|
||
{
|
||
_eventAggregator.GetEvent<CloseWindowEvent>().Publish();
|
||
}
|
||
// _unityContainer.Resolve<SysSetupService>().GetValueByParaID(ESysSetup.MOMMode.ToString())
|
||
public void OnSwitch(object obj)
|
||
{
|
||
if (string.IsNullOrEmpty(UserName)|| string.IsNullOrEmpty(this.UserPwa))
|
||
{
|
||
HandyControl.Controls.MessageBox.Info("工号与密码不能为空!请输入后切换");
|
||
return;
|
||
}
|
||
|
||
int deviceMode = int.Parse(_unityContainer.Resolve<SysSetupService>().GetValueByParaID(ESysSetup.MOMMode.ToString()));
|
||
_unityContainer.Resolve<SysSetupService>().UpdateValue(ESysSetup.MOMMode.ToString(), SelectedRadioButtonIndex.ToString());
|
||
MESReturnCmdModel mesModel = _unityContainer.Resolve<MESProcess>().EqptRun(UserName, this.UserPwa,
|
||
SelectedRadioButtonIndex.ToString());
|
||
string MOMMessage = "";
|
||
|
||
if (null != mesModel)
|
||
{
|
||
MOMMessage = mesModel.Info.MOMMessage;
|
||
}
|
||
if (null == mesModel || mesModel.Info.ResultFlag == EResultFlag.NG.ToString())
|
||
{
|
||
_unityContainer.Resolve<SysSetupService>().UpdateValue(ESysSetup.MOMMode.ToString(), deviceMode.ToString());
|
||
HandyControl.Controls.MessageBox.Error($@"切换【{((EMOMMode)SelectedRadioButtonIndex).GetDescription()}】失败 {MOMMessage}!", "切换提示");
|
||
return;
|
||
}
|
||
|
||
HandyControl.Controls.MessageBox.Show($@"切换【{((EMOMMode)SelectedRadioButtonIndex).GetDescription()}】成功!", "切换提示");
|
||
_unityContainer.Resolve<LogService>().AddLog($@"切换【{((EMOMMode)SelectedRadioButtonIndex).GetDescription()}】!", E_LogType.Operate.ToString());
|
||
}
|
||
//public void OnMesUpdate(object obj)
|
||
//{
|
||
// dynamic dc = JsonConvert.DeserializeObject<dynamic>(dev.Json);
|
||
|
||
// if (MessageBoxResult.OK == HandyControl.Controls.MessageBox.Ask("是否修改Mes地址?该操作可能会导致Mes(MOM)无法使用,请仔细确认无误", "操作提示"))
|
||
// {
|
||
// dc.URL = _url;
|
||
// _unityContainer.Resolve<DeviceConfigService>().UpdateMesJosn(JsonConvert.SerializeObject(dc));
|
||
// //_unityContainer.Resolve<MESProcess>().GetJsonParam(JsonConvert.SerializeObject(dc));
|
||
// return;
|
||
// }
|
||
// Url = dc.URL;
|
||
//}
|
||
public void Refresh()
|
||
{
|
||
string v = _unityContainer.Resolve<BLL.SysSetupService>().GetValueByParaID(ESysSetup.MOMMode.ToString());
|
||
SelectedRadioButtonIndex = int.Parse(v);
|
||
dev = _unityContainer.Resolve<DeviceConfigService>().GetConfig(EDeviceType.MOM)[0];
|
||
dynamic d = JsonConvert.DeserializeObject<dynamic>(dev.Json);
|
||
Url = d.URL;
|
||
}
|
||
}
|
||
}
|