Files
cms_thermo_active/Step.Model/DTOModels/AlarmModels/DTOAlarmHistoricModel.cs
T
Lucio Maranta 2294b52a65 Fix Siemens active file
Fix machine counters
WIP Siemens axes name
2018-11-07 17:27:44 +01:00

74 lines
1.9 KiB
C#

using CMS_CORE_Library.Utils;
using Step.Model.DatabaseModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static Step.Model.Constants;
namespace Step.Model.DTOModels.AlarmModels
{
public class DTOAlarmHistoricModel
{
public int Id { get; set; }
public int AlarmId { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public ALARM_SOURCE Source { get; set; }
public ALARM_TYPE Type { get; set; }
public List<int> Processes { get; set; }
public DateTime TimeStamp { get; set; }
public static explicit operator DTOAlarmHistoricModel(AlarmOccurrencesModel obj)
{
List<int> processes = new List<int>();
bool[] statusBits = Nc_Utils.IntToBits(obj.Processes);
for (int i = 0; i < 8; i++)
{
if (statusBits[i])
processes.Add(i + 1);
}
return new DTOAlarmHistoricModel()
{
Id = obj.AlarmOccurrenceId,
AlarmId = obj.AlarmOccurrenceId,
Title = obj.AlarmDescription == null ? "" : obj.AlarmDescription.Title,
// Description = obj.AlarmDescription == null ? "" : obj.AlarmDescription.Description,
Processes = processes,
Source = obj.Source,
TimeStamp = obj.TimeStamp,
Type = obj.Type
};
}
}
public struct DTOAlarmsFilterModel
{
public int Page;
public int PageSize;
public string Title;
public ALARM_TYPE Type;
public DateTime StartDate;
public DateTime EndDate;
public List<int> UserIds;
}
public struct DTOAlarmsData
{
public int Pages;
public DateTime FirstDate;
}
}