using ivf_tl_Entity.DebugEntitys; using ivf_tl_Entity.DTO; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media.Imaging; namespace ivf_tl_Services { public class ConvertHelper { public TLSetting ConvertToTLSetting(tlInfoDTO tlInfo, tlSettingDTO tlSetting) { if (tlInfo == null) return null; TLSetting TLSetting = new TLSetting(); TLSetting.id = tlInfo.id; TLSetting.tlSn = tlInfo.tlSn; TLSetting.tlName = tlInfo.tlName; TLSetting.state = tlInfo.state; TLSetting.online = tlInfo.online; TLSetting.softwareVersion = tlInfo.softwareVersion; TLSetting.protocolAddress = tlInfo.protocolAddress; TLSetting.installTime = tlInfo.installTime; TLSetting.address = tlInfo.address; TLSetting.socketIp = tlInfo.socketIp; TLSetting.socketPort = tlInfo.socketPort; TLSetting.alarmIp = tlInfo.alarmIp; TLSetting.alarmPort = tlInfo.alarmPort; TLSetting.mqttQueue = tlInfo.mqttQueue; TLSetting.kafkaTopic = tlInfo.kafkaTopic; TLSetting.remark = tlInfo.remark; if (tlSetting == null) return TLSetting; TLSetting.tmpDir = tlSetting.tmpDir; TLSetting.autoFocusTime = tlSetting.autoFocusTime; TLSetting.videoFps = tlSetting.videoFps; TLSetting.watermarking = tlSetting.watermarking; TLSetting.bufferBottlerPressureMax = tlSetting.bufferBottlerPressureMax; TLSetting.bufferBottlerPressureMin = tlSetting.bufferBottlerPressureMin; TLSetting.pressureAlarmMax = tlSetting.pressureAlarmMax; TLSetting.pressureAlarmMin = tlSetting.pressureAlarmMin; TLSetting.temperatureAlarmMax = tlSetting.temperatureAlarmMax; TLSetting.temperatureAlarmMin = tlSetting.temperatureAlarmMin; TLSetting.bufferBottlerAerationNum = tlSetting.bufferBottlerAerationNum; TLSetting.houseAerationNum = tlSetting.houseAerationNum; TLSetting.ventilationDelay = tlSetting.ventilationDelay; TLSetting.airSwapFrequency = tlSetting.airSwapFrequency; TLSetting.airSwapTime = tlSetting.airSwapTime; TLSetting.valueDelay = tlSetting.valueDelay; TLSetting.aerationDelay = tlSetting.aerationDelay; if (tlSetting.newAirSwap == 1) { TLSetting.newAirSwap = true; } TLSetting.motorDelay = tlSetting.motorDelay; TLSetting.verticalMotorPulseMax = tlSetting.verticalMotorPulseMax; TLSetting.photoIntervalPerRound = tlSetting.photoIntervalPerRound; TLSetting.lightOn = tlSetting.lightOn; TLSetting.keepDate = tlSetting.keepDate; TLSetting.heapDate = tlSetting.heapDate; TLSetting.mattingAlarmTimes = tlSetting.mattingAlarmTimes; TLSetting.houseDoorAlarmTime = tlSetting.houseDoorAlarmTime; TLSetting.temperatureAlarmTime = tlSetting.temperatureAlarmTime; TLSetting.pressureAlarmTime = tlSetting.pressureAlarmTime; TLSetting.chartThreshold = tlSetting.chartThreshold; TLSetting.saveSourcePic = TLSetting.saveSourcePic; if (tlSetting.compositeVideo == 1) { TLSetting.buildVideo = true; } return TLSetting; } public BitmapImage StringToBitmapImage(string imageurl) { try { BitmapImage bitImage = new BitmapImage(); bitImage.BeginInit(); bitImage.UriSource = new Uri(imageurl, UriKind.Absolute); bitImage.CacheOption = System.Windows.Media.Imaging.BitmapCacheOption.OnLoad; bitImage.EndInit(); return bitImage; } catch (Exception ex) { return null; } } public BitmapImage StringToBitmapImage(string imageurl, Action h) { try { BitmapImage bitImage = new BitmapImage(); bitImage.BeginInit(); bitImage.UriSource = new Uri(imageurl, UriKind.Absolute); bitImage.CacheOption = System.Windows.Media.Imaging.BitmapCacheOption.OnLoad; bitImage.EndInit(); bitImage.DecodeFailed += BitImage_DecodeFailed; bitImage.DownloadFailed += BitImage_DownloadFailed; bitImage.DownloadCompleted += BitImage_DownloadCompleted; return bitImage; } catch (Exception ex) { return null; } } private void BitImage_DownloadFailed(object? sender, System.Windows.Media.ExceptionEventArgs e) { Debug.WriteLine("BitImage_DownloadFailed"); } private void BitImage_DecodeFailed(object? sender, System.Windows.Media.ExceptionEventArgs e) { Debug.WriteLine("BitImage_DecodeFailed"); } private void BitImage_DownloadCompleted(object? sender, EventArgs e) { Debug.WriteLine("完成"); } } }