This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,126 @@
using DTS.Common.Enums;
using DTS.Common.Interface.Sensors.SoftwareFilters;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace DTS.Common.Interface.Sensors
{
/// <summary>
/// interface describing a record of a digital input setting in the db
/// </summary>
public interface IDigitalInDbRecord
{
/// <summary>
/// Database id of record
/// </summary>
[Key]
int Id { get; set; }
/// <summary>
/// serial number or name of setting
/// </summary>
string SerialNumber { get; set; }
/// <summary>
/// Input mode for setting
/// </summary>
DigitalInputModes Mode { get; set; }
/// <summary>
/// ScaleMultiplier, defines how to interpret output in terms of
/// units or active/default value of input state
/// </summary>
[Required]
[StringLength(50)]
IDigitalInputScaleMultiplier ScaleMultiplier { get; set; }
/// <summary>
/// when setting was last modified
/// </summary>
[Column(TypeName = "datetime")]
DateTime LastModified { get; set; }
/// <summary>
/// user that last modified setting in db
/// </summary>
[Required]
[StringLength(50)]
string LastModifiedBy { get; set; }
/// <summary>
/// Electronic ID for digital input setting
/// (dallas or TeDS ID value)
/// </summary>
[Required]
[Column("eId")]
[StringLength(50)]
string EID { get; set; }
/// <summary>
/// ISO 13499 code for digital input data collected using this setting
/// this is the default code when the setting is applied to an input channel
/// but can be changed in group or test settings
/// </summary>
[Required]
[StringLength(50)]
string ISOCode { get; set; }
/// <summary>
/// the associated ISO 13499 channel name to apply to a channel when applying
/// setting to an input channel
/// but can be changed in group or test settings
/// </summary>
[Required]
[StringLength(255)]
string ISOChannelName { get; set; }
/// <summary>
/// the user code to apply to a channel when applying setting to a channel
/// can be changed in group or test settings
/// </summary>
[Required]
[StringLength(50)]
string UserCode { get; set; }
/// <summary>
/// user channel name to apply to a channel when applying setting to a channel
/// can be changed in group or test settings
/// </summary>
[Required]
[StringLength(255)]
string UserChannelName { get; set; }
/// <summary>
/// user value to carry through to collected data channel when collecting data with this setting
/// </summary>
[StringLength(255)]
string UserValue1 { get; set; }
/// <summary>
/// user value to carry through to collected data channel when collecting data with this setting
/// </summary>
[StringLength(255)]
string UserValue2 { get; set; }
/// <summary>
/// user value to carry through to collected data channel when collecting data with this setting
/// </summary>
[StringLength(255)]
string UserValue3 { get; set; }
/// <summary>
/// bytes describing tag ids for tags associated with setting
/// see ITagAware for more information
/// </summary>
byte[] UserTags { get; set; }
/// <summary>
/// measurement unit for collected data, for example
/// 'V' or Volts
/// </summary>
[Required]
[StringLength(50)]
string MeasurementUnit { get; set; }
/// <summary>
/// software filter class (applied when viewing data) to apply to collected data by default
/// can be changed when viewing or exporting, this is just a default filter
/// </summary>
[Required]
[StringLength(50)]
IFilterClass FilterClass { get; set; }
/// <summary>
/// a flag indicating setting should not be used for arbitrary user specified reason
/// </summary>
bool DoNotUse { get; set; }
/// <summary>
/// a flag indicating setting should not be used because it is currently broken
/// </summary>
bool Broken { get; set; }
}
}

View File

@@ -0,0 +1,19 @@
using System.Collections.Generic;
using DTS.Common.Base;
namespace DTS.Common.Interface.Groups
{
/// <summary>
/// the options view controls selecting files and validating the selection
/// </summary>
public interface IGroupImportOptionsView:IBaseView
{
/// <summary>
/// returns true if files have been selected, false if files are not selected
/// </summary>
/// <param name="errors">any errors that were detected during validation</param>
/// <param name="warnings">any warnings that were detected during validation</param>
/// <returns></returns>
bool Validate(out List<string> errors, out List<string> warnings);
}
}

View File

@@ -0,0 +1,93 @@
using System;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface IDigitalOutputSetting
{
/// <summary>
/// database id for digital output setting
/// only ids > 0 are valid
/// </summary>
int DatabaseId { get; set; }
/// <summary>
/// whether digital output should have a check in a list with a checkbox
/// </summary>
bool Included { get; set; }
/// <summary>
/// serialnumber/setting name for digital output setting
/// </summary>
string SerialNumber { get; set; }
/// <summary>
/// description/comment for setting
/// </summary>
string Description { get; set; }
/// <summary>
/// delay in ms before outputting
/// </summary>
double DODelay { get; set; }
/// <summary>
/// duration in ms of output (if limiting duration)
/// </summary>
double DODuration { get; set; }
/// <summary>
/// who last modified the digital output
/// </summary>
string ModifiedBy { get; set; }
/// <summary>
/// when the digital output was last modified
/// </summary>
DateTime LastModified { get; set; }
/// <summary>
/// returns true if the digital output matches filter criteria
/// </summary>
/// <param name="term"></param>
/// <returns></returns>
bool Filter(string term);
/// <summary>
/// whether digital output is associated with a channel
/// </summary>
bool Assigned { get; set; }
/// <summary>
/// whether digital output was found online or not (there's no real way of finding digital output online, it has no EID)
/// </summary>
bool Online { get; set; }
/// <summary>
/// isocode associated with digital output
/// digital outputs aren't in collected data so there's not a real need for this ...
/// </summary>
string ISOCode { get; set; }
/// <summary>
/// iso channel name associated with digital output
/// digital outputs aren't in collected data so there's no real need for this ...
/// </summary>
string ISOChannelName { get; set; }
/// <summary>
/// user code associated with digital output
/// there's no collected data for outputs so there's no real need for this
/// </summary>
string UserCode { get; set; }
/// <summary>
/// user channel name associated with digital output
/// there's no collected data for outputs so there's no real need for this
/// </summary>
string UserChannelName{ get; set; }
/// <summary>
/// whether output should be limited or not
/// </summary>
bool LimitDuration { get; set; }
/// <summary>
/// the output mode for the digital output setting
/// </summary>
Enums.DigitalOutputModes DOMode { get; set; }
/// <summary>
/// used to mark whether the digital output is broken
/// broken sensors do not appear in selectable lists of sensors in edit group or edit test setup
/// </summary>
bool Broken{ get; set; }
/// <summary>
/// used to mark whether the digital output should not be used
/// donotuse sensors do not appear in selectable lists of sensors in edit group or edit test setup
/// </summary>
bool DoNotUse{ get; set; }
}
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net452" />
</packages>

View File

@@ -0,0 +1,48 @@
using System;
using System.Windows.Media.Imaging;
namespace DTS.Common.Interface
{
#region ImageAttribute
public interface IAssemblyImageAttribute
{
string AssemblyName { get; }
BitmapImage AssemblyImage { get; }
eAssemblyRegion AssemblyRegion { get; }
Type GetType();
BitmapImage GetAssemblyImage();
string GetAssemblyName();
eAssemblyRegion GetAssemblyRegion();
}
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false)]
public abstract class ImageAttribute : Attribute, IAssemblyImageAttribute
{
public abstract string AssemblyName { get; }
public abstract string AssemblyGroup { get; }
public abstract eAssemblyRegion AssemblyRegion { get; }
public abstract BitmapImage AssemblyImage { get; }
public abstract Type GetAttributeType();
public abstract BitmapImage GetAssemblyImage();
public abstract string GetAssemblyName();
public abstract string GetAssemblyGroup();
public abstract eAssemblyRegion GetAssemblyRegion();
}
#endregion ImageAttribute
#region NameAttribute
public interface IAssemblyNameAttribute
{
String AssemblyName { get; }
Type GetType();
string GetAssemblyName();
}
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false)]
public abstract class TextAttribute : Attribute, IAssemblyNameAttribute
{
public abstract string AssemblyName { get; }
public abstract Type GetAttributeType();
public abstract string GetAssemblyName();
}
#endregion NameAttribute
}