using DBEntity; using IvfTl.Control.Entity.DBEntitys; using IvfTl.Control.Entity.DTO; using IvfTl.Control.Entity.DTO.ApiResultDTO; using IvfTl.Control.Entity.GlobalEntitys; using IvfTl.Control.Entity.InitEntitys; namespace ivf_tl_UtilHelper { public static class ConvertHelper { public static 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.historyCurveInterval = tlSetting.historyCurveInterval; 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; } // V-047 对焦配置下发链:服务器 init JSON → tlSettingDTO → 运行态 TLSetting // (喂 PhotoLayerCalculator / 安全门),再经 ConvertToTLSettingDB 落本地 SQLite 缓存。 TLSetting.localAutofocusEnabled = tlSetting.localAutofocusEnabled ?? 0; TLSetting.focusLayerSpacingPulse = tlSetting.focusLayerSpacingPulse; TLSetting.focusLayerCount = tlSetting.focusLayerCount; TLSetting.cleanAutofocusData = tlSetting.cleanAutofocusData; // G4-1:对焦标定保留天数下发 TLSetting.focusLayerDown = tlSetting.focusLayerDown; TLSetting.focusPeakRatioThreshold = tlSetting.focusPeakRatioThreshold; return TLSetting; } public static TLSetting ConvertToTLSetting(TLSettingDB tLSettingDB) { if (tLSettingDB == null) return null; TLSetting TLSetting = new TLSetting(); TLSetting.id = tLSettingDB.id; TLSetting.tlSn = tLSettingDB.tlSn; TLSetting.tlName = tLSettingDB.tlName; TLSetting.state = tLSettingDB.state; TLSetting.online = tLSettingDB.online; TLSetting.softwareVersion = tLSettingDB.softwareVersion; TLSetting.protocolAddress = tLSettingDB.protocolAddress; TLSetting.installTime = tLSettingDB.installTime; TLSetting.address = tLSettingDB.address; TLSetting.socketIp = tLSettingDB.socketIp; TLSetting.socketPort = tLSettingDB.socketPort; TLSetting.alarmIp = tLSettingDB.alarmIp; TLSetting.alarmPort = tLSettingDB.alarmPort; TLSetting.mqttQueue = tLSettingDB.mqttQueue; TLSetting.kafkaTopic = tLSettingDB.kafkaTopic; TLSetting.remark = tLSettingDB.remark; TLSetting.tmpDir = tLSettingDB.tmpDir; TLSetting.autoFocusTime = tLSettingDB.autoFocusTime; TLSetting.videoFps = tLSettingDB.videoFps; TLSetting.watermarking = tLSettingDB.watermarking; TLSetting.bufferBottlerPressureMax = tLSettingDB.bufferBottlerPressureMax; TLSetting.bufferBottlerPressureMin = tLSettingDB.bufferBottlerPressureMin; TLSetting.pressureAlarmMax = tLSettingDB.pressureAlarmMax; TLSetting.pressureAlarmMin = tLSettingDB.pressureAlarmMin; TLSetting.temperatureAlarmMax = tLSettingDB.temperatureAlarmMax; TLSetting.temperatureAlarmMin = tLSettingDB.temperatureAlarmMin; TLSetting.bufferBottlerAerationNum = tLSettingDB.bufferBottlerAerationNum; TLSetting.houseAerationNum = tLSettingDB.houseAerationNum; TLSetting.ventilationDelay = tLSettingDB.ventilationDelay; TLSetting.airSwapFrequency = tLSettingDB.airSwapFrequency; TLSetting.airSwapTime = tLSettingDB.airSwapTime; TLSetting.valueDelay = tLSettingDB.valueDelay; TLSetting.aerationDelay = tLSettingDB.aerationDelay; if (tLSettingDB.newAirSwap == 1) { TLSetting.newAirSwap = true; } TLSetting.motorDelay = tLSettingDB.motorDelay; TLSetting.verticalMotorPulseMax = tLSettingDB.verticalMotorPulseMax; TLSetting.photoIntervalPerRound = tLSettingDB.photoIntervalPerRound; TLSetting.lightOn = tLSettingDB.lightOn; TLSetting.keepDate = tLSettingDB.keepDate; TLSetting.heapDate = tLSettingDB.heapDate; TLSetting.historyCurveInterval = tLSettingDB.historyCurveInterval; TLSetting.mattingAlarmTimes = tLSettingDB.mattingAlarmTimes; TLSetting.houseDoorAlarmTime = tLSettingDB.houseDoorAlarmTime; TLSetting.temperatureAlarmTime = tLSettingDB.temperatureAlarmTime; TLSetting.pressureAlarmTime = tLSettingDB.pressureAlarmTime; TLSetting.chartThreshold = tLSettingDB.chartThreshold; // M2-06 场景B本地自动对焦安全门(设备级开关;0关闭降级/1启用本地对焦,默认安全)。 TLSetting.localAutofocusEnabled = tLSettingDB.localAutofocusEnabled; // V-047 取数链:设备级拍照层配置 本地缓存 → 运行时(喂 PhotoLayerCalculator)。 TLSetting.focusLayerSpacingPulse = tLSettingDB.focusLayerSpacingPulse; TLSetting.focusLayerCount = tLSettingDB.focusLayerCount; TLSetting.cleanAutofocusData = tLSettingDB.cleanAutofocusData; // G4-1:本地缓存回读保留天数 TLSetting.focusLayerDown = tLSettingDB.focusLayerDown; TLSetting.focusPeakRatioThreshold = tLSettingDB.focusPeakRatioThreshold; TLSetting.saveSourcePic = TLSetting.saveSourcePic; if (tLSettingDB.compositeVideo == 1) { TLSetting.buildVideo = true; } return TLSetting; } public static TLSettingDB ConvertToTLSettingDB(TLSetting tLSetting) { if (tLSetting == null) return null; TLSettingDB tLSettingDB = new TLSettingDB(); tLSettingDB.id = tLSetting.id; tLSettingDB.tlSn = tLSetting.tlSn; tLSettingDB.tlName = tLSetting.tlName; tLSettingDB.state = tLSetting.state; tLSettingDB.online = tLSetting.online; tLSettingDB.softwareVersion = tLSetting.softwareVersion; tLSettingDB.protocolAddress = tLSetting.protocolAddress; tLSettingDB.installTime = tLSetting.installTime; tLSettingDB.address = tLSetting.address; tLSettingDB.socketIp = tLSetting.socketIp; tLSettingDB.socketPort = tLSetting.socketPort; tLSettingDB.alarmIp = tLSetting.alarmIp; tLSettingDB.alarmPort = tLSetting.alarmPort; tLSettingDB.mqttQueue = tLSetting.mqttQueue; tLSettingDB.kafkaTopic = tLSetting.kafkaTopic; tLSettingDB.remark = tLSetting.remark; tLSettingDB.tmpDir = tLSetting.tmpDir; tLSettingDB.autoFocusTime = tLSetting.autoFocusTime; tLSettingDB.videoFps = tLSetting.videoFps; tLSettingDB.watermarking = tLSetting.watermarking; tLSettingDB.bufferBottlerPressureMax = tLSetting.bufferBottlerPressureMax; tLSettingDB.bufferBottlerPressureMin = tLSetting.bufferBottlerPressureMin; tLSettingDB.pressureAlarmMax = tLSetting.pressureAlarmMax; tLSettingDB.pressureAlarmMin = tLSetting.pressureAlarmMin; tLSettingDB.temperatureAlarmMax = tLSetting.temperatureAlarmMax; tLSettingDB.temperatureAlarmMin = tLSetting.temperatureAlarmMin; tLSettingDB.bufferBottlerAerationNum = tLSetting.bufferBottlerAerationNum; tLSettingDB.houseAerationNum = tLSetting.houseAerationNum; tLSettingDB.ventilationDelay = tLSetting.ventilationDelay; tLSettingDB.airSwapFrequency = tLSetting.airSwapFrequency; tLSettingDB.airSwapTime = tLSetting.airSwapTime; tLSettingDB.valueDelay = tLSetting.valueDelay; tLSettingDB.aerationDelay = tLSetting.aerationDelay; tLSettingDB.historyCurveInterval = tLSetting.historyCurveInterval; if (tLSetting.newAirSwap) { tLSettingDB.newAirSwap = 1; } else { tLSettingDB.newAirSwap = 0; } tLSettingDB.motorDelay = tLSetting.motorDelay; tLSettingDB.verticalMotorPulseMax = tLSetting.verticalMotorPulseMax; tLSettingDB.photoIntervalPerRound = tLSetting.photoIntervalPerRound; tLSettingDB.lightOn = tLSetting.lightOn; tLSettingDB.keepDate = tLSetting.keepDate; tLSettingDB.heapDate = tLSetting.heapDate; tLSettingDB.mattingAlarmTimes = tLSetting.mattingAlarmTimes; tLSettingDB.houseDoorAlarmTime = tLSetting.houseDoorAlarmTime; tLSettingDB.temperatureAlarmTime = tLSetting.temperatureAlarmTime; tLSettingDB.pressureAlarmTime = tLSetting.pressureAlarmTime; tLSettingDB.chartThreshold = tLSetting.chartThreshold; // M2-06 场景B本地自动对焦安全门(设备级开关)回写本地缓存,跨重启保留。 tLSettingDB.localAutofocusEnabled = tLSetting.localAutofocusEnabled; // V-047 取数链:设备级拍照层配置 运行时 → 本地缓存,跨重启保留。 tLSettingDB.focusLayerSpacingPulse = tLSetting.focusLayerSpacingPulse; tLSettingDB.focusLayerCount = tLSetting.focusLayerCount; tLSettingDB.cleanAutofocusData = tLSetting.cleanAutofocusData; // G4-1:保留天数写入本地缓存 tLSettingDB.focusLayerDown = tLSetting.focusLayerDown; tLSettingDB.focusPeakRatioThreshold = tLSetting.focusPeakRatioThreshold; tLSettingDB.saveSourcePic = tLSetting.saveSourcePic; if (tLSetting.buildVideo) { tLSettingDB.compositeVideo = 1; } else { tLSettingDB.compositeVideo = 0; } return tLSettingDB; } public static House ConvertToHouse(houseDTO houseDTO) { if (houseDTO == null) return null; House house = new House(); house.tlSn = houseDTO.tlSn; house.houseSn = houseDTO.houseSn; house.houseName = houseDTO.houseName; house.housePort = houseDTO.housePort; house.ccdId = houseDTO.ccdId; house.ccdSn = houseDTO.ccdSn; house.ccdHeight = houseDTO.ccdHeight; house.ccdWidth = houseDTO.ccdWidth; house.targetHeight = houseDTO.targetHeight; house.targetWidth = houseDTO.targetWidth; house.verticalMotorSpacePulse = houseDTO.verticalMotorSpacePulse; house.ccdExposure = houseDTO.ccdExposure; house.autoFocusNumber = houseDTO.autoFocusNumber; house.photographPictureNumber = houseDTO.photographPictureNumber; house.updateFocusNumber = houseDTO.updateFocusNumber; house.updateClearestNumber = houseDTO.updateClearestNumber; house.openCcd = houseDTO.openCcd; house.openPort = houseDTO.openPort; house.autoFocus = houseDTO.autoFocus == 1; house.noImagePreview = houseDTO.noImagePreview == 1; house.inletValveOpeningTime = houseDTO.inletValveOpeningTime; house.temperatureLowerHeatingPlate = houseDTO.temperatureLowerHeatingPlate; return house; } public static House ConvertToHouse(HouseDB houseDB) { if (houseDB == null) return null; House house = new House(); house.tlSn = houseDB.tlSn; house.houseSn = houseDB.houseSn; house.houseName = houseDB.houseName; house.housePort = houseDB.housePort; house.ccdId = houseDB.ccdId; house.ccdSn = houseDB.ccdSn; house.ccdHeight = houseDB.ccdHeight; house.ccdWidth = houseDB.ccdWidth; house.targetHeight = houseDB.targetHeight; house.targetWidth = houseDB.targetWidth; house.verticalMotorSpacePulse = houseDB.verticalMotorSpacePulse; house.ccdExposure = houseDB.ccdExposure; house.autoFocusNumber = houseDB.autoFocusNumber; house.photographPictureNumber = houseDB.photographPictureNumber; house.updateFocusNumber = houseDB.updateFocusNumber; house.updateClearestNumber = houseDB.updateClearestNumber; house.openCcd = houseDB.openCcd; house.openPort = houseDB.openPort; house.autoFocus = houseDB.autoFocus == 1; house.noImagePreview = houseDB.noImagePreview == 1; house.inletValveOpeningTime = houseDB.inletValveOpeningTime; house.temperatureLowerHeatingPlate = houseDB.temperatureLowerHeatingPlate; return house; } public static HouseDB ConvertToHouseDB(House house) { if (house == null) return null; HouseDB houseDB = new HouseDB(); houseDB.tlSn = house.tlSn; houseDB.houseSn = house.houseSn; houseDB.houseName = house.houseName; houseDB.housePort = house.housePort; houseDB.ccdId = house.ccdId; houseDB.ccdSn = house.ccdSn; houseDB.ccdHeight = house.ccdHeight; houseDB.ccdWidth = house.ccdWidth; houseDB.targetHeight = house.targetHeight; houseDB.targetWidth = house.targetWidth; houseDB.verticalMotorSpacePulse = house.verticalMotorSpacePulse; houseDB.ccdExposure = house.ccdExposure; houseDB.autoFocusNumber = house.autoFocusNumber; houseDB.photographPictureNumber = house.photographPictureNumber; houseDB.updateFocusNumber = house.updateFocusNumber; houseDB.updateClearestNumber = house.updateClearestNumber; houseDB.openCcd = house.openCcd; houseDB.openPort = house.openPort; houseDB.autoFocus = house.autoFocus ? 1 : 0; houseDB.noImagePreview = house.noImagePreview ? 1 : 0; houseDB.inletValveOpeningTime = house.inletValveOpeningTime; houseDB.temperatureLowerHeatingPlate = house.temperatureLowerHeatingPlate; return houseDB; } public static HouseWellSetting ConvertToHouseWellSetting(houseWellSettingDTO houseWellSettingDTO) { if (houseWellSettingDTO == null) return null; HouseWellSetting houseWellSetting = new HouseWellSetting(); houseWellSetting.tlSn = houseWellSettingDTO.tlSn; houseWellSetting.houseSn = houseWellSettingDTO.houseSn; houseWellSetting.wellSn = houseWellSettingDTO.wellSn; houseWellSetting.leftOffset = houseWellSettingDTO.leftOffset; houseWellSetting.bottomOffset = houseWellSettingDTO.bottomOffset; houseWellSetting.moveDownLayer = houseWellSettingDTO.moveDownLayer; houseWellSetting.horizontalMotorPosition = houseWellSettingDTO.horizontalMotorPosition; houseWellSetting.eepromClearPosition = houseWellSettingDTO.eepromClearPosition; // V-047 对焦配置下发链:well 级覆盖 服务器 init JSON → DTO → 运行态(空=继承设备级)。 houseWellSetting.focusLayerSpacingPulse = houseWellSettingDTO.focusLayerSpacingPulse; houseWellSetting.focusLayerCount = houseWellSettingDTO.focusLayerCount; return houseWellSetting; } public static HouseWellSetting ConvertToHouseWellSetting(HouseWellSettingDB houseWellSettingDB) { if (houseWellSettingDB == null) return null; HouseWellSetting houseWellSetting = new HouseWellSetting(); houseWellSetting.tlSn = houseWellSettingDB.tlSn; houseWellSetting.houseSn = houseWellSettingDB.houseSn; houseWellSetting.wellSn = houseWellSettingDB.wellSn; houseWellSetting.leftOffset = houseWellSettingDB.leftOffset; houseWellSetting.bottomOffset = houseWellSettingDB.bottomOffset; houseWellSetting.moveDownLayer = houseWellSettingDB.moveDownLayer; houseWellSetting.horizontalMotorPosition = houseWellSettingDB.horizontalMotorPosition; houseWellSetting.eepromClearPosition = houseWellSettingDB.eepromClearPosition; // V-047 取数链:well 级拍照层覆盖 本地缓存 → 运行时(空=继承设备级,喂 PhotoLayerCalculator)。 houseWellSetting.focusLayerSpacingPulse = houseWellSettingDB.focusLayerSpacingPulse; houseWellSetting.focusLayerCount = houseWellSettingDB.focusLayerCount; return houseWellSetting; } public static HouseWellSettingDB ConvertToHouseWellSettingDB(HouseWellSetting houseWellSetting) { if (houseWellSetting == null) return null; HouseWellSettingDB houseWellSettingDB = new HouseWellSettingDB(); houseWellSettingDB.tlSn = houseWellSetting.tlSn; houseWellSettingDB.houseSn = houseWellSetting.houseSn; houseWellSettingDB.wellSn = houseWellSetting.wellSn; houseWellSettingDB.leftOffset = houseWellSetting.leftOffset; houseWellSettingDB.bottomOffset = houseWellSetting.bottomOffset; houseWellSettingDB.moveDownLayer = houseWellSetting.moveDownLayer; houseWellSettingDB.horizontalMotorPosition = houseWellSetting.horizontalMotorPosition; houseWellSettingDB.eepromClearPosition = houseWellSetting.eepromClearPosition; // V-047 取数链:well 级拍照层覆盖 运行时 → 本地缓存,跨重启保留。 houseWellSettingDB.focusLayerSpacingPulse = houseWellSetting.focusLayerSpacingPulse; houseWellSettingDB.focusLayerCount = houseWellSetting.focusLayerCount; return houseWellSettingDB; } public static HouseWellPhoto ConvertToHouseWellPhoto(positionResultDTO autoFocusPositionDTO) { if (autoFocusPositionDTO == null) return null; HouseWellPhoto houseWellPhoto = new HouseWellPhoto(); houseWellPhoto.tlSn = autoFocusPositionDTO.tlSn; houseWellPhoto.houseSn = autoFocusPositionDTO.houseSn; houseWellPhoto.wellSn = autoFocusPositionDTO.wellSn; houseWellPhoto.verticalMotorPosition = autoFocusPositionDTO.verticalMotorPosition; houseWellPhoto.clearest = autoFocusPositionDTO.layerNum; houseWellPhoto.positionType = autoFocusPositionDTO.positionType; return houseWellPhoto; } public static HouseWellPhoto ConvertToHouseWellPhoto(HouseWellPhotoDB houseWellPhotoDb) { if (houseWellPhotoDb == null) return null; HouseWellPhoto houseWellPhoto = new HouseWellPhoto(); houseWellPhoto.tlSn = houseWellPhotoDb.tlSn; houseWellPhoto.houseSn = houseWellPhotoDb.houseSn; houseWellPhoto.wellSn = houseWellPhotoDb.wellSn; houseWellPhoto.verticalMotorPosition = houseWellPhotoDb.verticalMotorPosition; houseWellPhoto.clearest = houseWellPhotoDb.clearest; houseWellPhoto.positionType = houseWellPhotoDb.positionType; return houseWellPhoto; } public static HouseWellPhotoDB ConvertToHouseWellPhotoDB(HouseWellPhoto houseWellPhoto) { if (houseWellPhoto == null) return null; HouseWellPhotoDB houseWellPhotoDB = new HouseWellPhotoDB(); houseWellPhotoDB.tlSn = houseWellPhoto.tlSn; houseWellPhotoDB.houseSn = houseWellPhoto.houseSn; houseWellPhotoDB.wellSn = houseWellPhoto.wellSn; houseWellPhotoDB.verticalMotorPosition = houseWellPhoto.verticalMotorPosition; houseWellPhotoDB.clearest = houseWellPhoto.clearest; houseWellPhotoDB.positionType = houseWellPhoto.positionType; return houseWellPhotoDB; } public static Embryo ConvertToEmbryo(embryoDTO embryoDTO) { if (embryoDTO == null) return null; Embryo embryo=new Embryo(); embryo.id = embryoDTO.id; embryo.dishId = embryoDTO.dishId; embryo.tlSn = embryoDTO.tlSn; embryo.houseSn= embryoDTO.houseSn; embryo.wellSn = embryoDTO.wellSn; embryo.startTime = embryoDTO.startTime; embryo.state= embryoDTO.state; embryo.stateTime = embryoDTO.stateTime; return embryo; } public static Embryo ConvertToEmbryo(EmbryoDB embryoDB) { if (embryoDB == null) return null; Embryo embryo = new Embryo(); embryo.id = embryoDB.id; embryo.dishId = embryoDB.dishId; embryo.tlSn = embryoDB.tlSn; embryo.houseSn = embryoDB.houseSn; embryo.wellSn = embryoDB.wellSn; embryo.startTime = embryoDB.startTime; embryo.state = embryoDB.state; embryo.stateTime = embryoDB.stateTime; return embryo; } public static EmbryoDB ConvertToEmbryoDB(Embryo embryo) { if (embryo == null) return null; EmbryoDB embryoDB = new EmbryoDB(); embryoDB.id = embryo.id; embryoDB.dishId = embryo.dishId; embryoDB.tlSn = embryo.tlSn; embryoDB.houseSn = embryo.houseSn; embryoDB.wellSn = embryo.wellSn; embryoDB.startTime = embryo.startTime; embryoDB.state = embryo.state; embryoDB.stateTime = embryo.stateTime; return embryoDB; } public static Dish ConvertToDish(dishDTO dishDTO) { if (dishDTO == null) return null; Dish dish = new Dish(); dish.id=dishDTO.id; dish.tlSn= dishDTO.tlSn; dish.houseSn= dishDTO.houseSn; dish.startTime = dishDTO.startTime; dish.embryoCount = dishDTO.embryoCount; dish.Embryo = new List(); foreach (var item in dishDTO.embryo) { dish.Embryo.Add(ConvertToEmbryo(item)); } return dish; } public static Dish ConvertToDish(DishDB dishDB) { if (dishDB == null) return null; Dish dish = new Dish(); dish.id = dishDB.id; dish.tlSn = dishDB.tlSn; dish.houseSn = dishDB.houseSn; dish.startTime = dishDB.startTime; dish.embryoCount = dishDB.embryoCount; dish.Embryo = new List(); dish.endTime = dishDB.endTime; return dish; } public static DishDB ConvertToDishDB(Dish dish) { if (dish == null) return null; DishDB dishDB = new DishDB(); dishDB.id = dish.id; dishDB.tlSn = dish.tlSn; dishDB.houseSn = dish.houseSn; dishDB.startTime = dish.startTime; dishDB.embryoCount = dish.embryoCount; dishDB.endTime = dish.endTime; return dishDB; } public static Balance ConvertToBalance(balanceDTO balanceDTO) { if (balanceDTO == null) return null; Balance balance = new Balance(); balance.id=balanceDTO.id; balance.tlSn = balanceDTO.tlSn; balance.houseSn = balanceDTO.houseSn; balance.startTime = balanceDTO.startTime; return balance; } public static Balance ConvertToBalance(BalanceDB balanceDB) { if (balanceDB == null) return null; Balance balance = new Balance(); balance.id = balanceDB.id; balance.tlSn = balanceDB.tlSn; balance.houseSn = balanceDB.houseSn; balance.startTime = balanceDB.startTime; balance.endTime = balanceDB.endTime; return balance; } public static BalanceDB ConvertToBalanceDB(Balance balance) { if (balance == null) return null; BalanceDB balanceDB = new BalanceDB(); balanceDB.id = balance.id; balanceDB.tlSn = balance.tlSn; balanceDB.houseSn = balance.houseSn; balanceDB.startTime = balance.startTime; balanceDB.endTime = balance.endTime; return balanceDB; } public static PictureDB ConvertToPictureDB(ImageDTO imageDTO) { if (imageDTO == null) return null; PictureDB pictureDB = new PictureDB(); pictureDB.CCDSN = imageDTO.CcdSn; pictureDB.Clearest = imageDTO.Clearest; pictureDB.dishId = (long)imageDTO.EmbryoCultureRecordId; pictureDB.EmbryoId = (long)imageDTO.EmbryoId; pictureDB.End = imageDTO.End; pictureDB.FertilizationTime = imageDTO.FertilizationTime; pictureDB.HorizontalPosition= imageDTO.HorizontalPosition; pictureDB.HouseSn = imageDTO.HouseSn; pictureDB.ImageTime = imageDTO.ImageTime; pictureDB.PhotographType = imageDTO.PhotographType; pictureDB.PictureLayer = imageDTO.PictureLayer; pictureDB.ShootingPosition = imageDTO.ShootingPosition; pictureDB.SourceImageName = imageDTO.SourceImageName; pictureDB.SourceImagePath = imageDTO.SourceImagePath; pictureDB.SourceImageWidth = imageDTO.SourceImageWidth; pictureDB.SourceImageHeight = imageDTO.SourceImageHeight; pictureDB.TlSn = imageDTO.TlSn; pictureDB.WellSn = imageDTO.WellSn; pictureDB.TotalLayer= imageDTO.TotalLayer; return pictureDB; } public static ImageDTO ConvertToPictureDB(PictureDB pictureDB) { if (pictureDB == null) return null; ImageDTO imageDTO = new ImageDTO(); imageDTO.CcdSn = pictureDB.CCDSN; imageDTO.Clearest = pictureDB.Clearest; imageDTO.EmbryoCultureRecordId = (ulong)pictureDB.dishId; imageDTO.EmbryoId = (ulong)pictureDB.EmbryoId; imageDTO.End = pictureDB.End; imageDTO.FertilizationTime = pictureDB.FertilizationTime; imageDTO.HorizontalPosition = pictureDB.HorizontalPosition; imageDTO.HouseSn = pictureDB.HouseSn; imageDTO.ImageTime = pictureDB.ImageTime; imageDTO.PhotographType = pictureDB.PhotographType; imageDTO.PictureLayer = pictureDB.PictureLayer; imageDTO.ShootingPosition = pictureDB.ShootingPosition; imageDTO.SourceImageName = pictureDB.SourceImageName; imageDTO.SourceImagePath = pictureDB.SourceImagePath; imageDTO.SourceImageWidth = pictureDB.SourceImageWidth; imageDTO.SourceImageHeight = pictureDB.SourceImageHeight; imageDTO.TlSn = pictureDB.TlSn; imageDTO.WellSn = pictureDB.WellSn; imageDTO.TotalLayer = pictureDB.TotalLayer; return imageDTO; } } }