107 lines
3.2 KiB
C#

using Manager.Interfaces.DTO;
using MongoDB.Bson.Serialization.Attributes;
using System;
using System.Collections.Generic;
using System.Text;
namespace Manager.Interfaces.Models
{
/// <summary>
/// Device Information (Tablet)
/// </summary>
public class Device
{
[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]
public string IpAddressWLAN { get; set; }
[BsonElement("IpAddressETH")]
[BsonRequired]
public string IpAddressETH { get; set; }
[BsonElement("Configuration")]
public string Configuration { get; set; }
[BsonElement("ConfigurationId")]
[BsonRequired]
public string ConfigurationId { get; set; }
[BsonElement("Connected")]
[BsonRequired]
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]
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
};
}
}
}