agrobot_base/AgroBase/AgroBase/Models/DispositivosModel.cs

71 lines
1.9 KiB
C#

using AgroBase.Services.Operadores;
using System;
using System.Linq;
using static AgroBase.Models.Enums;
namespace AgroBase.Models
{
public class DispositivosModel
{
}
public class DispositivoDetalhesModel
{
public DateTime CriadoEm { get; set; } = DateTime.Now;
public T_Code Dispositivo { get; set; }
public string Mod_ID { get; set; }
public string Endereco { get; set; }
public string Versao { get; set; }
public TipoConexao Tipo
{
get
{
if (Endereco.Contains("USB"))
{
return TipoConexao.USB;
}
else if (Endereco.Contains("COM"))
{
return TipoConexao.PortaCOM;
}
else if (Endereco.Contains("."))
{
return TipoConexao.Ethernet;
}
else if (Endereco.Contains("CAN"))
{
return TipoConexao.CAN;
}
else
{
return TipoConexao.Desconhecido;
}
}
}
public StatusModulo Status
{
get
{
return HealthWorkerService.ModulosSaude.FirstOrDefault(x => x.modulo == Dispositivo)?.status ?? StatusModulo.Desconectado;
}
}
public double Saude
{
get
{
return HealthWorkerService.ModulosSaude.FirstOrDefault(x => x.modulo == Dispositivo)?.saude ?? 0;
}
}
public string Erros
{
get
{
var motivos = HealthWorkerService.ModulosSaude.FirstOrDefault(x => x.modulo == Dispositivo)?.motivos ?? new System.Collections.Generic.List<string>();
return string.Join(", ", motivos);
}
}
}
}