| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 |
- using CommunityToolkit.Mvvm.ComponentModel;
- using ivf_tl_Entity.Entity.Alarm;
- using ivf_tl_Entity.Entity.Mark;
- using ivf_tl_Entity.Enums;
- 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 AlarmSettingViewModel : BaseViewModel
- {
- [ObservableProperty]
- private ObservableCollection<AlarmUserEntity> alarmUserEntitieList = new ObservableCollection<AlarmUserEntity>();
- [ObservableProperty]
- private List<AlarmTypeEntity> alarmTypeList = new List<AlarmTypeEntity>();
- private Dictionary<int, string> TimeDic = new Dictionary<int, string>() { { 5, "5分钟" }, { 10, "10分钟" }, { 20, "20分钟" }, { 30, "30分钟" }, };
- private AlarmProvider alarmProvider;
- public AlarmSettingViewModel()
- {
- InitTimeDic();
- AlarmUserEntitieList.Clear();
- if (alarmProvider == null) alarmProvider = AppData.Instance.GetAlarmProvider();
- AlarmTypeList = alarmProvider.GetTypeAndTemplateListApi();
- UpdaData();
- }
- 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")}");
- }
- private void ToastShow(bool b)
- {
- try
- {
- new ToastWindow(AppData.Instance.MainWindow, 1920, 65, b).Show();
- }
- catch (Exception ex)
- {
- ExLog(ex, "ToastShow");
- }
- }
- private void ToastMessageShow(string mess)
- {
- try
- {
- new ToastMessageWindow(AppData.Instance.MainWindow, 1920, 65, mess).Show();
- }
- catch (Exception ex)
- {
- ExLog(ex, "ToastMessageShow");
- }
- }
- private bool? MessageBoxShow(string title, string mess)
- {
- try
- {
- AppData.Instance.MainWindowViewModel.MaskVisibility = true;
- var a = new MessageBoxWindow(title, mess, AppData.Instance.MainWindow).ShowDialog();
- AppData.Instance.MainWindowViewModel.MaskVisibility = false;
- return a;
- }
- catch (Exception ex)
- {
- ExLog(ex, "MessageBoxShow");
- return false;
- }
- }
- private void ExLog(Exception ex, string name)
- {
- AppData.Instance.LogService.ExceptionLog(ex, $"AlarmSettingViewModel.{name}", LogEnum.RunException);
- }
- private void ErrorLog(string message, LogEnum logType)
- {
- AppData.Instance.LogService.TLLog($"AlarmSettingViewModel.{message}", logType);
- }
- private void UpdaData()
- {
- var newList = alarmProvider.GetAlarmPersonnelListApi();
- int num = 1;
- AlarmUserEntity currentAlarmUser = null;
- AlarmPermissionEntity currentAlarmPer = null;
- foreach (var userItem in newList)
- {
- currentAlarmUser = AlarmUserEntitieList.FirstOrDefault(x => x.id == userItem.id);
- if (currentAlarmUser != null) continue;
- num = 1;
- foreach (var item in AlarmTypeList)
- {
- currentAlarmPer = userItem.alarmPermissions.FirstOrDefault(x => x.alarmTypeId == item.id);
- AlarmDetailEntity itemDeail = new AlarmDetailEntity();
- itemDeail.num = num++;
- itemDeail.userId = userItem.id;
- itemDeail.alarmTypeId = item.id;
- switch (item.alarmLevel)
- {
- case 1:
- //itemDeail.alarmLevel = "紧急";
- itemDeail.alarmLevel = KeyToStringConvert.GetLanguageStringByKey("0274");
- break;
- case 2:
- //itemDeail.alarmLevel = "一般";
- itemDeail.alarmLevel = KeyToStringConvert.GetLanguageStringByKey("0275");
- break;
- case 3:
- //itemDeail.alarmLevel = "缓";
- itemDeail.alarmLevel = KeyToStringConvert.GetLanguageStringByKey("0276");
- break;
- default:
- //itemDeail.alarmLevel = $"未知:{item.alarmLevel}";
- itemDeail.alarmLevel =$"{KeyToStringConvert.GetLanguageStringByKey("0246")}:{item.alarmLevel}";
- break;
- }
- itemDeail.alarmTitle = item.alarmTitle;
- if (currentAlarmPer == null)
- {
- itemDeail.perId = 0;
- itemDeail.state = 0;
- if (item.smsTemplates.Any())
- {
- itemDeail.smsTemplateId = item.smsTemplates.First().id;
- itemDeail.smsTemplate = item.smsTemplates.First().templateCode;
- }
- else
- {
- itemDeail.smsTemplateId = 0;
- itemDeail.smsTemplate = null;
- }
- if (item.callTemplates.Any())
- {
- itemDeail.callTemplate = item.callTemplates.First().templateCode;
- itemDeail.callTemplateId = item.callTemplates.First().id;
- }
- else
- {
- itemDeail.callTemplate = null;
- itemDeail.callTemplateId = 0;
- }
- itemDeail.intervalTime = 5;
- }
- else
- {
- itemDeail.perId = currentAlarmPer.id;
- itemDeail.state = currentAlarmPer.state;
- itemDeail.smsTemplateId = currentAlarmPer.smsTemplateId;
- itemDeail.smsTemplate = currentAlarmPer.smsTemplate;
- itemDeail.callTemplate = currentAlarmPer.callTemplate;
- itemDeail.callTemplateId = currentAlarmPer.callTemplateId;
- itemDeail.intervalTime = currentAlarmPer.intervalTime;
- }
- itemDeail.callTemplates = item.callTemplates;
- itemDeail.SelectedCallTemplate = itemDeail.callTemplates.FirstOrDefault(x => x.id == itemDeail.callTemplateId);
- itemDeail.smsTemplates = item.smsTemplates;
- itemDeail.SelectedSmsTemplate = itemDeail.smsTemplates.FirstOrDefault(x => x.id == itemDeail.smsTemplateId);
- itemDeail.TimeSource = TimeDic;
- itemDeail.SelectedTime = TimeDic.FirstOrDefault(x => x.Key == itemDeail.intervalTime);
- userItem.AlarmDetailList.Add(itemDeail);
- }
- AlarmUserEntitieList.Add(userItem);
- }
- }
- public void UpdateAlamdetail(AlarmDetailEntity alarmDetail)
- {
- try
- {
- string error = null;
- if (alarmDetail.perId != 0)
- {
- error = alarmProvider.UpdateAlarmDetailApi(alarmDetail.perId, alarmDetail.smsTemplateId, alarmDetail.callTemplateId, alarmDetail.intervalTime, alarmDetail.state);
- }
- else
- {
- error = alarmProvider.AddAlarmDetailApi(alarmDetail);
- }
- if (!string.IsNullOrEmpty(error))
- {
- //MessageBoxShow("操作失败", error);
- MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0286"), error);
- return;
- }
- }
- catch (Exception ex)
- {
- ExLog(ex, "UpdateAlamdetail");
- //MessageBoxShow("操作异常", ex.Message);
- MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0291"), ex.Message);
- }
- }
- public void EditAlarmUser(AlarmUserEntity alarmUserEntity)
- {
- try
- {
- AppData.Instance.MainWindowViewModel.MaskVisibility = true;
- if (new AlarmUserWindow(alarmUserEntity).ShowDialog() != true)
- {
- AppData.Instance.MainWindowViewModel.MaskVisibility = false;
- return;
- }
- AppData.Instance.MainWindowViewModel.MaskVisibility = false;
- ToastShow(true);
- }
- catch (Exception ex)
- {
- ExLog(ex, "EditAlarmUser");
- //MessageBoxShow("操作异常", ex.Message);
- MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0291"), ex.Message);
- }
- }
- public void DelAlarmUser(AlarmUserEntity alarmUserEntity)
- {
- try
- {
- AppData.Instance.MainWindowViewModel.MaskVisibility = true;
- //new MessageBoxWindow("删除", $"确定删除报警人员{alarmUserEntity.name}吗?", AppData.Instance.MainWindow).ShowDialog() != true
- if (new MessageBoxWindow(KeyToStringConvert.GetLanguageStringByKey("0043"), KeyToStringConvert.GetLanguageStringByKey("0537"), AppData.Instance.MainWindow).ShowDialog() != true)
- {
- AppData.Instance.MainWindowViewModel.MaskVisibility = false;
- return;
- }
- AppData.Instance.MainWindowViewModel.MaskVisibility = false;
- string error = alarmProvider.DeleteAlarmUserApi(alarmUserEntity.id);
- if (!string.IsNullOrEmpty(error))
- {
- //MessageBoxShow("操作失败", error);
- MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0286"), error);
- return;
- }
- AlarmUserEntitieList.Remove(alarmUserEntity);
- ToastShow(true);
- }
- catch (Exception ex)
- {
- ExLog(ex, "DelAlarmUser");
- //MessageBoxShow("操作异常", ex.Message);
- MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0291"), ex.Message);
- }
- }
- public void AddAlarmUser()
- {
- try
- {
- AppData.Instance.MainWindowViewModel.MaskVisibility = true;
- if (new AlarmUserWindow().ShowDialog() != true)
- {
- AppData.Instance.MainWindowViewModel.MaskVisibility = false;
- return;
- }
- AppData.Instance.MainWindowViewModel.MaskVisibility = false;
- UpdaData();
- }
- catch (Exception ex)
- {
- return;
- }
- }
- }
- }
|