using System.Linq; using Domain.Models; using EfDataAdapter.Models; namespace EfDataAdapter.Extensions { public static class DmSensorModuleExtensions { public static DmSensorModule ToDataModel(this SensorModule sensorModule, DmSensorModule dmSensorModule = null) { if (dmSensorModule == null) dmSensorModule = new DmSensorModule(); dmSensorModule.Id = sensorModule.Id; dmSensorModule.ModuleSerial = sensorModule.ModuleSerial; dmSensorModule.PhoneNumber = sensorModule.PhoneNumber; dmSensorModule.IpAddress = sensorModule.IpAddress; dmSensorModule.SensorModuleTypeId = sensorModule.SensorModuleTypeId; dmSensorModule.SensorModuleType = sensorModule.SensorModuleType?.ToDataModel(); dmSensorModule.InstallDate = sensorModule.InstallDate; dmSensorModule.Status = sensorModule.Status; dmSensorModule.Remark = sensorModule.Remark; dmSensorModule.FirmwareVersion = sensorModule.FirmwareVersion; dmSensorModule.Sensors = sensorModule.Sensors?.Select(x => x.ToDataModel()).ToList(); dmSensorModule.RawMeasurements = sensorModule.RawMeasurements?.Select(DmRawMeasurement.FromDomain).ToList(); return dmSensorModule; } public static SensorModule ToDomain(this DmSensorModule dmSensorModule) { if (dmSensorModule == null) return null; return new SensorModule() { Id = dmSensorModule.Id, ModuleSerial = dmSensorModule.ModuleSerial, PhoneNumber = dmSensorModule.PhoneNumber, IpAddress = dmSensorModule.IpAddress, SensorModuleTypeId = dmSensorModule.SensorModuleTypeId, SensorModuleType = dmSensorModule.SensorModuleType?.ToDomain(), InstallDate = dmSensorModule.InstallDate, Status = dmSensorModule.Status, Remark = dmSensorModule.Remark, FirmwareVersion = dmSensorModule.FirmwareVersion, Sensors = dmSensorModule.Sensors?.Select(x => x.ToDomain()).ToList(), RawMeasurements = dmSensorModule.RawMeasurements?.Select(DmRawMeasurement.ToDomain).ToList() }; } } }
201800cookie-checkC# Mapping ToDataModel() ToDomain()