2025-03-06 17:39:08 +01:00

112 lines
3.3 KiB
C#

using ManagerService.DTOs;
using System;
using System.ComponentModel.DataAnnotations;
namespace ManagerService.Data
{
/// <summary>
/// Device Information (Tablet)
/// </summary>
public class Device
{
[Key]
[Required]
/*[BsonId]
[BsonRepresentation(MongoDB.Bson.BsonType.ObjectId)]*/
public string Id { get; set; }
//[BsonElement("Identifier")]
public string Identifier { get; set; }
//[BsonElement("Name")]
public string Name { get; set; }
/*[BsonElement("IpAddressWLAN")]
[BsonRequired]*/
[Required]
public string IpAddressWLAN { get; set; }
//[BsonElement("IpAddressETH")]
//[BsonRequired]
[Required]
public string IpAddressETH { get; set; }
//[BsonElement("Configuration")]
public string Configuration { get; set; }
//[BsonElement("ConfigurationId")]
//[BsonRequired]
[Required]
public string ConfigurationId { get; set; }
//[BsonElement("Connected")]
//[BsonRequired]
[Required]
public bool Connected { get; set; }
//[BsonElement("DateCreation")]
public DateTime DateCreation { get; set; }
//[BsonElement("DateUpdate")]
public DateTime DateUpdate { get; set; }
// BatteryLevel in case of powered devices
//[BsonElement("BatteryLevel")]
public string BatteryLevel { get; set; }
//[BsonElement("LastBatteryLevel")]
public DateTime LastBatteryLevel { get; set; }
// ConnectionLevel wifi strength level
//[BsonElement("ConnectionLevel")]
public string ConnectionLevel { get; set; }
//[BsonElement("LastConnectionLevel")]
public DateTime LastConnectionLevel { get; set; }
/*[BsonElement("InstanceId")]
[BsonRequired]*/
[Required]
public string InstanceId { get; set; }
public DeviceDTO ToDTO()
{
return new DeviceDTO()
{
id = Id,
identifier = Identifier,
name = Name,
ipAddressWLAN = IpAddressWLAN,
ipAddressETH = IpAddressETH,
connected = Connected,
configuration = Configuration,
configurationId = ConfigurationId,
dateUpdate = DateUpdate,
dateCreation = DateCreation,
instanceId = InstanceId
};
}
public DeviceDetailDTO ToDetailDTO()
{
return new DeviceDetailDTO()
{
id = Id,
identifier = Identifier,
name = Name,
ipAddressWLAN = IpAddressWLAN,
ipAddressETH = IpAddressETH,
connected = Connected,
configuration = Configuration,
configurationId = ConfigurationId,
connectionLevel = ConnectionLevel,
lastConnectionLevel = LastConnectionLevel,
batteryLevel = BatteryLevel,
lastBatteryLevel = LastBatteryLevel,
dateUpdate = DateUpdate,
dateCreation = DateCreation,
instanceId = InstanceId
};
}
}
}