55 lines
1.5 KiB
C#
55 lines
1.5 KiB
C#
using adas_core.Domain.Enums;
|
|
using MongoDB.Bson;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace adas_core.Domain.Models.MongoModels;
|
|
|
|
public class Relay
|
|
{
|
|
public ObjectId Id { get; set; }
|
|
|
|
public RelayEnum.Type Type { get; set; } = RelayEnum.Type.Door;
|
|
|
|
public string? Driver { get; init; }
|
|
|
|
public string Ip { get; init; } = string.Empty;
|
|
|
|
public int Port { get; init; }
|
|
|
|
public int RelayNumber { get; init; } = 1;
|
|
|
|
public string? RelayName { get; init; }
|
|
|
|
public int Total { get; init; } = 1;
|
|
|
|
public int RefreshTime { get; set; } = 60;
|
|
|
|
public bool Open { get; set; }
|
|
|
|
public RelayEnum.Status Status { get; set; } = RelayEnum.Status.NotInitialized;
|
|
|
|
public string? Username { get; init; }
|
|
|
|
public string? Password { get; init; }
|
|
|
|
public RelayEnum.Mode Mode { get; set; } = RelayEnum.Mode.OpenedOnClosedOff;
|
|
|
|
public int? RebootDelay { get; set; }
|
|
|
|
public bool Cache { get; set; } = true;
|
|
public bool InUse { get; private set; }
|
|
|
|
public RelayEnum.Status? ManualRelayStatus { get; set; }
|
|
|
|
public bool Equals(Relay other)
|
|
{
|
|
return Driver == other.Driver && Ip == other.Ip && Port == other.Port && RelayNumber == other.RelayNumber &&
|
|
RelayName == other.RelayName && Total == other.Total && Username == other.Username &&
|
|
Password == other.Password;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return JsonConvert.SerializeObject(this);
|
|
}
|
|
} |