//------------------------------------------------------------------------------
//
// 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_WINDERS")]
public abstract class HardwareWinderBase : ObservableEntity
{
public event EventHandler MillimeterPerRotationChanged;
public event EventHandler ActiveChanged;
public event EventHandler HardwareVersionChanged;
public event EventHandler HardwareWinderTypeChanged;
protected String _hardwarewindertypeguid;
///
/// Gets or sets the hardwarewinderbase hardware winder type guid.
///
[Column("HARDWARE_WINDER_TYPE_GUID")]
[ForeignKey("HardwareWinderType")]
public String HardwareWinderTypeGuid
{
get
{
return _hardwarewindertypeguid;
}
set
{
if (_hardwarewindertypeguid != value)
{
_hardwarewindertypeguid = value;
}
}
}
protected String _hardwareversionguid;
///
/// Gets or sets the hardwarewinderbase hardware version guid.
///
[Column("HARDWARE_VERSION_GUID")]
[ForeignKey("HardwareVersion")]
public String HardwareVersionGuid
{
get
{
return _hardwareversionguid;
}
set
{
if (_hardwareversionguid != value)
{
_hardwareversionguid = value;
}
}
}
protected Int32 _millimeterperrotation;
///
/// Gets or sets the hardwarewinderbase millimeter per rotation.
///
[Column("MILLIMETER_PER_ROTATION")]
public Int32 MillimeterPerRotation
{
get
{
return _millimeterperrotation;
}
set
{
if (_millimeterperrotation != value)
{
_millimeterperrotation = value;
OnMillimeterPerRotationChanged(value);
}
}
}
protected Boolean _active;
///
/// Gets or sets the hardwarewinderbase active.
///
[Column("ACTIVE")]
public Boolean Active
{
get
{
return _active;
}
set
{
if (_active != value)
{
_active = value;
OnActiveChanged(value);
}
}
}
protected HardwareVersion _hardwareversion;
///
/// Gets or sets the hardwarewinderbase 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);
}
}
}
protected HardwareWinderType _hardwarewindertype;
///
/// Gets or sets the hardwarewinderbase hardware winder types.
///
[XmlIgnore]
[JsonIgnore]
public virtual HardwareWinderType HardwareWinderType
{
get
{
return _hardwarewindertype;
}
set
{
if (_hardwarewindertype != value)
{
_hardwarewindertype = value;
if (HardwareWinderType != null)
{
HardwareWinderTypeGuid = HardwareWinderType.Guid;
}
OnHardwareWinderTypeChanged(value);
}
}
}
///
/// Called when the MillimeterPerRotation has changed.
///
protected virtual void OnMillimeterPerRotationChanged(Int32 millimeterperrotation)
{
MillimeterPerRotationChanged?.Invoke(this, millimeterperrotation);
RaisePropertyChanged(nameof(MillimeterPerRotation));
}
///
/// Called when the Active has changed.
///
protected virtual void OnActiveChanged(Boolean active)
{
ActiveChanged?.Invoke(this, active);
RaisePropertyChanged(nameof(Active));
}
///
/// Called when the HardwareVersion has changed.
///
protected virtual void OnHardwareVersionChanged(HardwareVersion hardwareversion)
{
HardwareVersionChanged?.Invoke(this, hardwareversion);
RaisePropertyChanged(nameof(HardwareVersion));
}
///
/// Called when the HardwareWinderType has changed.
///
protected virtual void OnHardwareWinderTypeChanged(HardwareWinderType hardwarewindertype)
{
HardwareWinderTypeChanged?.Invoke(this, hardwarewindertype);
RaisePropertyChanged(nameof(HardwareWinderType));
}
///
/// Initializes a new instance of the class.
///
public HardwareWinderBase() : base()
{
}
}
}