using CommunityToolkit.Mvvm.ComponentModel; using ivf_tl_Entity.Entity.HouseSetting; using ivf_tl_Entity.Enums; using ivf_tl_Manage.Win; using ivf_tl_Service.HttpProvider; using Newtonsoft.Json; 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 HouseSettingViewModel : BaseViewModel { private HouseProvider houseProvider; private string CurrentTlSn { get; set; } public BaseViewModel ParentViewModel { get; set; } public List AutoTimeList { get; set; } = new List(); public List ZhenList { get; set; } = new List(); [ObservableProperty] private ObservableCollection autoHouseInfoList = new ObservableCollection(); [ObservableProperty] private ObservableCollection houseInfoList = new ObservableCollection(); [ObservableProperty] private TLSettingCommon currentTlSettingCommon = null; [ObservableProperty] private TLSettingModel currentTLSettingModel = null; public HouseSettingViewModel(string tlSn, BaseViewModel pa) { base.ViewModelName = nameof(HouseSettingViewModel); ParentViewModel = pa; CurrentTlSn = tlSn; } public void Init() { for (int i = 0; i < 24; i++) AutoTimeList.Add(i); for (int i = 1; i <= 30; i++) ZhenList.Add(i); houseProvider = AppData.Instance.GetHouseProvider(); CurrentTLSettingModel = houseProvider.GetSettingSystemApi(CurrentTlSn); CurrentTlSettingCommon = houseProvider.GetSettingCommonApi(CurrentTlSn); return; AutoHouseInfoList = new ObservableCollection(houseProvider.GetFocusSettingApi(CurrentTlSn)); HouseInfoList = new ObservableCollection(houseProvider.GetSettingHouseApi(CurrentTlSn)); int xuhao = 1; foreach (var item in AutoHouseInfoList) { item.autoFocusNew = item.autoFocus; item.xuHao = xuhao++; if (item.wellFocusSetting != null && item.wellFocusSetting.Any()) item.CurrentWellInfo = item.wellFocusSetting.First(); } xuhao = 1; foreach (var item in HouseInfoList) item.xuHao = xuhao++; } public bool UpdateSettingCommon() { return houseProvider.UpdateSettingCommonApi(JsonConvert.SerializeObject(CurrentTlSettingCommon)); } public bool UpdateSettingSystem() { return houseProvider.UpdateSettingSystemApi(JsonConvert.SerializeObject(CurrentTLSettingModel)); } public bool UploadLogo(byte[] logoBtye, string fileName) { return houseProvider.UploadLogoApi(logoBtye, fileName, CurrentTlSn); } public bool ClearLogo() { return houseProvider.ClearLogoApi(CurrentTlSn); } } }