using Manager.Interfaces.DTO; using MongoDB.Bson.Serialization.Attributes; using System; using System.Collections.Generic; using System.Text; namespace Manager.Interfaces.Models { /// /// Device Information (Tablet) /// 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; } 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 }; } 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 }; } } }