agrobot_base/AgroBase/AgroBase/Models/Operadores/ManagerWorkerModel.cs

98 lines
3.4 KiB
C#

using System;
using System.Collections.Generic;
using static AgroBase.Models.Enums;
namespace AgroBase.Models.Operadores
{
public class ManagerWorkerModel
{
public bool Iniciado { get; set; }
public DateTime IniciadoEm { get; set; }
public bool Pronto { get; set; }
public DateTime ProntoEm { get; set; }
public DateTime UltimaMensagem { get; set; }
//public WorkerMessageModel<ManagerWorkerMessageResponseModel> Leitura { get; set; }
public ManagerWorkerModel Clone()
{
return new ManagerWorkerModel()
{
Iniciado = Iniciado,
IniciadoEm = IniciadoEm,
Pronto = Pronto,
ProntoEm = ProntoEm,
//Leitura = Leitura.Clone()
};
}
public void ReiniciarEstado()
{
Iniciado = false;
IniciadoEm = DateTime.MinValue;
Pronto = false;
ProntoEm = DateTime.MinValue;
//Leitura = new WorkerMessageModel<ManagerWorkerMessageResponseModel>();
}
}
public class ManagerWorkerMessageResponseModel
{
public bool configurado { get; set; }
public long tempo_aguardando { get; set; }
public StatusOperacao status_operacao { get; set; }
public bool operacao_liberada { get; set; }
public ManagerWorkerMessageResponseComandoModel comando { get; set; }
public List<ManagerWorkerMessageResponseModulosPendentesModel> status_modulos { get; set; }
}
public class ManagerWorkerMessageResponseComandoModel
{
public double percentual_velocidade { get; set; }
public bool em_freio { get; set; }
public double angulo { get; set; }
public TipoMovimentoDirecional tipo_movimento { get; set; }
public List<double[]> simulacao { get; set; }
public int heartbeat { get; set; }
public double latencia { get; set; }
}
public class ManagerWorkerMessageResponseModulosPendentesModel
{
public T_Code modulo { get; set; }
public StatusModulo status { get; set; }
public bool conectado { get; set; }
public double saude { get; set; }
public List<string> motivos { get; set; }
public List<ManagerWorkerMessageResponseModulosPendentesSaudeModel> saude_individual { get; set; }
public List<ManagerWorkerMessageResponseModulosPendentesSaudeCondicoesModel> condicoes_operacionais { get; set; }
}
public class ManagerWorkerMessageResponseModulosPendentesSaudeModel
{
public string id { get; set; }
public string label { get; set; }
public StatusModulo status { get; set; }
public double saude { get; set; }
public List<string> motivos { get; set; }
public List<ManagerWorkerMessageResponseModulosPendentesSaudeCondicoesModel> condicoes_operacionais { get; set; }
public bool em_uso { get; set; }
}
public class ManagerWorkerMessageResponseModulosPendentesSaudeCondicoesModel
{
public double valor { get; set; }
public double severidade { get; set; }
public string descricao { get; set; }
}
public enum ManagerWorkerCommandType
{
ScriptCarregado = 1,
IniciarMPC = 2,
AtualizarDadosControle = 3,
EnviarDadosControle = 4,
FinalizarOperacao = 5,
}
}