//------------------------------------------------------------------------------
//
// 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_SPEED_SENSORS")]
public abstract class HardwareSpeedSensorBase : ObservableEntity
{
public event EventHandler ResolutionBitsChanged;
public event EventHandler PerimeterChanged;
public event EventHandler ActiveChanged;
public event EventHandler HardwareSpeedSensorTypeChanged;
public event EventHandler HardwareVersionChanged;
protected String _hardwarespeedsensortypeguid;
///
/// Gets or sets the hardwarespeedsensorbase hardware speed sensor type guid.
///
[Column("HARDWARE_SPEED_SENSOR_TYPE_GUID")]
[ForeignKey("HardwareSpeedSensorType")]
public String HardwareSpeedSensorTypeGuid
{
get
{
return _hardwarespeedsensortypeguid;
}
set
{
if (_hardwarespeedsensortypeguid != value)
{
_hardwarespeedsensortypeguid = value;
}
}
}
protected String _hardwareversionguid;
///
/// Gets or sets the hardwarespeedsensorbase hardware version guid.
///
[Column("HARDWARE_VERSION_GUID")]
[ForeignKey("HardwareVersion")]
public String HardwareVersionGuid
{
get
{
return _hardwareversionguid;
}
set
{
if (_hardwareversionguid != value)
{
_hardwareversionguid = value;
}
}
}
protected Int32 _resolutionbits;
///
/// Gets or sets the hardwarespeedsensorbase resolution bits.
///
[Column("RESOLUTION_BITS")]
public Int32 ResolutionBits
{
get
{
return _resolutionbits;
}
set
{
if (_resolutionbits != value)
{
_resolutionbits = value;
OnResolutionBitsChanged(value);
}
}
}
protected Double _perimeter;
///
/// Gets or sets the hardwarespeedsensorbase perimeter.
///
[Column("PERIMETER")]
public Double Perimeter
{
get
{
return _perimeter;
}
set
{
if (_perimeter != value)
{
_perimeter = value;
OnPerimeterChanged(value);
}
}
}
protected Boolean _active;
///
/// Gets or sets the hardwarespeedsensorbase active.
///
[Column("ACTIVE")]
public Boolean Active
{
get
{
return _active;
}
set
{
if (_active != value)
{
_active = value;
OnActiveChanged(value);
}
}
}
protected HardwareSpeedSensorType _hardwarespeedsensortype;
///
/// Gets or sets the hardwarespeedsensorbase hardware speed sensor types.
///
[XmlIgnore]
[JsonIgnore]
public virtual HardwareSpeedSensorType HardwareSpeedSensorType
{
get
{
return _hardwarespeedsensortype;
}
set
{
if (_hardwarespeedsensortype != value)
{
_hardwarespeedsensortype = value;
if (HardwareSpeedSensorType != null)
{
HardwareSpeedSensorTypeGuid = HardwareSpeedSensorType.Guid;
}
OnHardwareSpeedSensorTypeChanged(value);
}
}
}
protected HardwareVersion _hardwareversion;
///
/// Gets or sets the hardwarespeedsensorbase 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 ResolutionBits has changed.
///
protected virtual void OnResolutionBitsChanged(Int32 resolutionbits)
{
ResolutionBitsChanged?.Invoke(this, resolutionbits);
RaisePropertyChanged(nameof(ResolutionBits));
}
///
/// Called when the Perimeter has changed.
///
protected virtual void OnPerimeterChanged(Double perimeter)
{
PerimeterChanged?.Invoke(this, perimeter);
RaisePropertyChanged(nameof(Perimeter));
}
///
/// Called when the Active has changed.
///
protected virtual void OnActiveChanged(Boolean active)
{
ActiveChanged?.Invoke(this, active);
RaisePropertyChanged(nameof(Active));
}
///
/// Called when the HardwareSpeedSensorType has changed.
///
protected virtual void OnHardwareSpeedSensorTypeChanged(HardwareSpeedSensorType hardwarespeedsensortype)
{
HardwareSpeedSensorTypeChanged?.Invoke(this, hardwarespeedsensortype);
RaisePropertyChanged(nameof(HardwareSpeedSensorType));
}
///
/// 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 HardwareSpeedSensorBase() : base()
{
}
}
}