//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Tango Observables Generator
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. Do not modify!
//
//------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Xml.Serialization;
using Newtonsoft.Json;
using System.Linq;
using Tango.DAL.Remote.DB;
using Tango.Core;
using System.ComponentModel;
using Tango.Core.CustomAttributes;
namespace Tango.BL.Entities
{
[Table("HARDWARE_BREAK_SENSORS")]
public abstract class HardwareBreakSensorBase : ObservableEntity
{
public event EventHandler EnabledChanged;
public event EventHandler DeBounceTimeMilliChanged;
public event EventHandler ActiveChanged;
public event EventHandler HardwareBreakSensorTypeChanged;
public event EventHandler HardwareVersionChanged;
protected String _hardwarebreaksensortypeguid;
///
/// Gets or sets the hardwarebreaksensorbase hardware break sensor type guid.
///
[Column("HARDWARE_BREAK_SENSOR_TYPE_GUID")]
[ForeignKey("HardwareBreakSensorType")]
public String HardwareBreakSensorTypeGuid
{
get
{
return _hardwarebreaksensortypeguid;
}
set
{
if (_hardwarebreaksensortypeguid != value)
{
_hardwarebreaksensortypeguid = value;
}
}
}
protected String _hardwareversionguid;
///
/// Gets or sets the hardwarebreaksensorbase hardware version guid.
///
[Column("HARDWARE_VERSION_GUID")]
[ForeignKey("HardwareVersion")]
public String HardwareVersionGuid
{
get
{
return _hardwareversionguid;
}
set
{
if (_hardwareversionguid != value)
{
_hardwareversionguid = value;
}
}
}
protected Boolean _enabled;
///
/// Gets or sets the hardwarebreaksensorbase enabled.
///
[Column("ENABLED")]
public Boolean Enabled
{
get
{
return _enabled;
}
set
{
if (_enabled != value)
{
_enabled = value;
OnEnabledChanged(value);
}
}
}
protected Int32 _debouncetimemilli;
///
/// Gets or sets the hardwarebreaksensorbase de bounce time milli.
///
[Column("DE_BOUNCE_TIME_MILLI")]
public Int32 DeBounceTimeMilli
{
get
{
return _debouncetimemilli;
}
set
{
if (_debouncetimemilli != value)
{
_debouncetimemilli = value;
OnDeBounceTimeMilliChanged(value);
}
}
}
protected Boolean _active;
///
/// Gets or sets the hardwarebreaksensorbase active.
///
[Column("ACTIVE")]
public Boolean Active
{
get
{
return _active;
}
set
{
if (_active != value)
{
_active = value;
OnActiveChanged(value);
}
}
}
protected HardwareBreakSensorType _hardwarebreaksensortype;
///
/// Gets or sets the hardwarebreaksensorbase hardware break sensor types.
///
[XmlIgnore]
[JsonIgnore]
public virtual HardwareBreakSensorType HardwareBreakSensorType
{
get
{
return _hardwarebreaksensortype;
}
set
{
if (_hardwarebreaksensortype != value)
{
_hardwarebreaksensortype = value;
if (HardwareBreakSensorType != null)
{
HardwareBreakSensorTypeGuid = HardwareBreakSensorType.Guid;
}
OnHardwareBreakSensorTypeChanged(value);
}
}
}
protected HardwareVersion _hardwareversion;
///
/// Gets or sets the hardwarebreaksensorbase hardware versions.
///
[XmlIgnore]
[JsonIgnore]
public virtual HardwareVersion HardwareVersion
{
get
{
return _hardwareversion;
}
set
{
if (_hardwareversion != value)
{
_hardwareversion = value;
if (HardwareVersion != null)
{
HardwareVersionGuid = HardwareVersion.Guid;
}
OnHardwareVersionChanged(value);
}
}
}
///
/// Called when the Enabled has changed.
///
protected virtual void OnEnabledChanged(Boolean enabled)
{
EnabledChanged?.Invoke(this, enabled);
RaisePropertyChanged(nameof(Enabled));
}
///
/// Called when the DeBounceTimeMilli has changed.
///
protected virtual void OnDeBounceTimeMilliChanged(Int32 debouncetimemilli)
{
DeBounceTimeMilliChanged?.Invoke(this, debouncetimemilli);
RaisePropertyChanged(nameof(DeBounceTimeMilli));
}
///
/// Called when the Active has changed.
///
protected virtual void OnActiveChanged(Boolean active)
{
ActiveChanged?.Invoke(this, active);
RaisePropertyChanged(nameof(Active));
}
///
/// Called when the HardwareBreakSensorType has changed.
///
protected virtual void OnHardwareBreakSensorTypeChanged(HardwareBreakSensorType hardwarebreaksensortype)
{
HardwareBreakSensorTypeChanged?.Invoke(this, hardwarebreaksensortype);
RaisePropertyChanged(nameof(HardwareBreakSensorType));
}
///
/// Called when the HardwareVersion has changed.
///
protected virtual void OnHardwareVersionChanged(HardwareVersion hardwareversion)
{
HardwareVersionChanged?.Invoke(this, hardwareversion);
RaisePropertyChanged(nameof(HardwareVersion));
}
///
/// Initializes a new instance of the class.
///
public HardwareBreakSensorBase() : base()
{
}
}
}