HouseSettingViewModel.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using CommunityToolkit.Mvvm.ComponentModel;
  2. using ivf_tl_Entity.Entity.HouseSetting;
  3. using ivf_tl_Entity.Enums;
  4. using ivf_tl_Manage.Win;
  5. using ivf_tl_Service.HttpProvider;
  6. using Newtonsoft.Json;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Collections.ObjectModel;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. namespace ivf_tl_Manage.ViewModels
  14. {
  15. public partial class HouseSettingViewModel : BaseViewModel
  16. {
  17. private HouseProvider houseProvider;
  18. private string CurrentTlSn { get; set; }
  19. public BaseViewModel ParentViewModel { get; set; }
  20. public List<int> AutoTimeList { get; set; } = new List<int>();
  21. public List<int> ZhenList { get; set; } = new List<int>();
  22. [ObservableProperty]
  23. private ObservableCollection<AutoFocusHouseInfo> autoHouseInfoList = new ObservableCollection<AutoFocusHouseInfo>();
  24. [ObservableProperty]
  25. private ObservableCollection<HouseInfo> houseInfoList = new ObservableCollection<HouseInfo>();
  26. [ObservableProperty]
  27. private TLSettingCommon currentTlSettingCommon = null;
  28. [ObservableProperty]
  29. private TLSettingModel currentTLSettingModel = null;
  30. public HouseSettingViewModel(string tlSn, BaseViewModel pa)
  31. {
  32. base.ViewModelName = nameof(HouseSettingViewModel);
  33. ParentViewModel = pa;
  34. CurrentTlSn = tlSn;
  35. }
  36. public void Init()
  37. {
  38. for (int i = 0; i < 24; i++) AutoTimeList.Add(i);
  39. for (int i = 1; i <= 30; i++) ZhenList.Add(i);
  40. houseProvider = AppData.Instance.GetHouseProvider();
  41. CurrentTLSettingModel = houseProvider.GetSettingSystemApi(CurrentTlSn);
  42. CurrentTlSettingCommon = houseProvider.GetSettingCommonApi(CurrentTlSn);
  43. return;
  44. AutoHouseInfoList = new ObservableCollection<AutoFocusHouseInfo>(houseProvider.GetFocusSettingApi(CurrentTlSn));
  45. HouseInfoList = new ObservableCollection<HouseInfo>(houseProvider.GetSettingHouseApi(CurrentTlSn));
  46. int xuhao = 1;
  47. foreach (var item in AutoHouseInfoList)
  48. {
  49. item.autoFocusNew = item.autoFocus;
  50. item.xuHao = xuhao++;
  51. if (item.wellFocusSetting != null && item.wellFocusSetting.Any()) item.CurrentWellInfo = item.wellFocusSetting.First();
  52. }
  53. xuhao = 1;
  54. foreach (var item in HouseInfoList) item.xuHao = xuhao++;
  55. }
  56. public bool UpdateSettingCommon()
  57. {
  58. return houseProvider.UpdateSettingCommonApi(JsonConvert.SerializeObject(CurrentTlSettingCommon));
  59. }
  60. public bool UpdateSettingSystem()
  61. {
  62. return houseProvider.UpdateSettingSystemApi(JsonConvert.SerializeObject(CurrentTLSettingModel));
  63. }
  64. public bool UploadLogo(byte[] logoBtye, string fileName)
  65. {
  66. return houseProvider.UploadLogoApi(logoBtye, fileName, CurrentTlSn);
  67. }
  68. public bool ClearLogo()
  69. {
  70. return houseProvider.ClearLogoApi(CurrentTlSn);
  71. }
  72. }
  73. }