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()