using CommunityToolkit.Mvvm.ComponentModel; using ivf_tl_Entity.Entity.Alarm; using ivf_tl_Manage.Converts; using ivf_tl_Manage.Win; using ivf_tl_Service.HttpProvider; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ivf_tl_Manage.ViewModels { public partial class AlarmSettingNewViewModel : BaseViewModel { private AlarmProvider alarmProvider; private Dictionary TimeDic = new Dictionary() { { 5, "5分钟" }, { 10, "10分钟" }, { 20, "20分钟" }, { 30, "30分钟" }, }; private Dictionary LevelDic = new Dictionary() { { 1, "紧急" }, { 2, "一般" }, { 3, "缓" } }; [ObservableProperty] private List alarmTypeList = new List(); [ObservableProperty] private ObservableCollection alarmPersonneList = new ObservableCollection(); public AlarmSettingNewViewModel() { InitTimeDic(); base.NavName = "AlarmSettingNewViewModel"; if (alarmProvider == null) alarmProvider = AppData.Instance.GetAlarmProvider(); UpdataAlarmPersonne(); UpDataAlarmTypeList(); } private void InitTimeDic() { TimeDic.Clear(); TimeDic.Add(5, $"5{KeyToStringConvert.GetLanguageStringByKey("0272")}"); TimeDic.Add(10, $"10{KeyToStringConvert.GetLanguageStringByKey("0272")}"); TimeDic.Add(20, $"20{KeyToStringConvert.GetLanguageStringByKey("0272")}"); TimeDic.Add(30, $"30{KeyToStringConvert.GetLanguageStringByKey("0272")}"); LevelDic.Clear(); LevelDic.Add(1, $"{KeyToStringConvert.GetLanguageStringByKey("0274")}"); LevelDic.Add(2, $"{KeyToStringConvert.GetLanguageStringByKey("0275")}"); LevelDic.Add(3, $"{KeyToStringConvert.GetLanguageStringByKey("0276")}"); } private void UpDataAlarmTypeList() { try { AlarmTypeList.Clear(); int i = 1; var b = alarmProvider.GetTypeAndTemplateListNewApi(); foreach (var item in b) { item.Num = i++; item.TimeSource = TimeDic; item.SelectedTime = TimeDic.FirstOrDefault(x => x.Key == item.intervalTime); item.LevelSource = LevelDic; item.SelectedLevel = LevelDic.FirstOrDefault(x => x.Key == item.alarmLevel); //if (string.IsNullOrEmpty(item.SelectedTime.Value)) //{ // item.SelectedTime = new KeyValuePair(item.intervalTime, $"{item.intervalTime}分钟"); // TimeDic.Add(item.intervalTime, $"{item.intervalTime}分钟"); //} AlarmTypeList.Add(item); } b.Clear(); } catch (Exception ex) { ExLog(ex, "UpDataNew"); } } private void UpdataAlarmPersonne() { AlarmPersonneList.Clear(); var a = alarmProvider.GetAlarmPersonnelListNewApi(); int i = 1; foreach (var item in a) { item.Num = i++; AlarmPersonneList.Add(item); } a.Clear(); } public bool EditAlarmType(AlarmTypeEntity alarmType, int intervalTime, int alarmLevel) { if (alarmType == null) { MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0286"), KeyToStringConvert.GetLanguageStringByKey("0545")); return false; } if (intervalTime == -1) intervalTime = alarmType.intervalTime; if (alarmLevel == -1) alarmLevel = alarmType.alarmLevel; string error = alarmProvider.UpdateAlarmTypeApi(alarmType, intervalTime, alarmLevel); if (string.IsNullOrEmpty(error)) return true; MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0286"), error); return false; } public void AddAlarmPersonne() { AppData.Instance.MainWindowViewModel.MaskVisibility = true; if (new AlarmPersonneWindow().ShowDialog() == true) { UpdataAlarmPersonne(); } AppData.Instance.MainWindowViewModel.MaskVisibility = false; } public void EditAlarmPersonne(AlarmPersonne alarmPersonne) { if (alarmPersonne == null) { MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0286"), KeyToStringConvert.GetLanguageStringByKey("0545")); return; } AppData.Instance.MainWindowViewModel.MaskVisibility = true; new AlarmPersonneWindow(alarmPersonne).ShowDialog(); AppData.Instance.MainWindowViewModel.MaskVisibility = false; } public void DelAlarmPersonne(AlarmPersonne alarmPersonne) { if (alarmPersonne == null) { MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0286"), KeyToStringConvert.GetLanguageStringByKey("0545")); return; } //MessageBoxShow("提示", $"确认删除报警人员{alarmPersonne.name}吗?") if (MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0304"), KeyToStringConvert.GetLanguageStringByKey("0537")) != true) return; string error = alarmProvider.DeleteAlarmPersonneApi(alarmPersonne.id); if (!string.IsNullOrEmpty(error)) { MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0286"), error); return; } UpdataAlarmPersonne(); } public void SetAlarmSetting() { AppData.Instance.MainWindowViewModel.MaskVisibility = true; new AlarmPersonneSettingWindow(AlarmPersonneList).ShowDialog(); AppData.Instance.MainWindowViewModel.MaskVisibility = false; } } }