//------------------------------------------------------------------------------
//
// 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("DISPENSERS")]
public abstract class DispenserBase : ObservableEntity
{
public event EventHandler SerialNumberChanged;
public event EventHandler NlPerPulseChanged;
public event EventHandler PartNumberChanged;
public event EventHandler PcbSerialChanged;
public event EventHandler PcbVersionChanged;
public event EventHandler> ProductionDateChanged;
public event EventHandler CalibrationDataChanged;
public event EventHandler DispenserTypeChanged;
public event EventHandler> IdsPacksChanged;
protected String _serialnumber;
///
/// Gets or sets the dispenserbase serial number.
///
[Column("SERIAL_NUMBER")]
public String SerialNumber
{
get
{
return _serialnumber;
}
set
{
if (_serialnumber != value)
{
_serialnumber = value;
OnSerialNumberChanged(value);
}
}
}
protected String _dispensertypeguid;
///
/// Gets or sets the dispenserbase dispenser type guid.
///
[Column("DISPENSER_TYPE_GUID")]
[ForeignKey("DispenserType")]
public String DispenserTypeGuid
{
get
{
return _dispensertypeguid;
}
set
{
if (_dispensertypeguid != value)
{
_dispensertypeguid = value;
}
}
}
protected Double _nlperpulse;
///
/// Gets or sets the dispenserbase nl per pulse.
///
[Column("NL_PER_PULSE")]
public Double NlPerPulse
{
get
{
return _nlperpulse;
}
set
{
if (_nlperpulse != value)
{
_nlperpulse = value;
OnNlPerPulseChanged(value);
}
}
}
protected String _partnumber;
///
/// Gets or sets the dispenserbase part number.
///
[Column("PART_NUMBER")]
public String PartNumber
{
get
{
return _partnumber;
}
set
{
if (_partnumber != value)
{
_partnumber = value;
OnPartNumberChanged(value);
}
}
}
protected String _pcbserial;
///
/// Gets or sets the dispenserbase pcb serial.
///
[Column("PCB_SERIAL")]
public String PcbSerial
{
get
{
return _pcbserial;
}
set
{
if (_pcbserial != value)
{
_pcbserial = value;
OnPcbSerialChanged(value);
}
}
}
protected String _pcbversion;
///
/// Gets or sets the dispenserbase pcb version.
///
[Column("PCB_VERSION")]
public String PcbVersion
{
get
{
return _pcbversion;
}
set
{
if (_pcbversion != value)
{
_pcbversion = value;
OnPcbVersionChanged(value);
}
}
}
protected Nullable _productiondate;
///
/// Gets or sets the dispenserbase production date.
///
[Column("PRODUCTION_DATE")]
public Nullable ProductionDate
{
get
{
return _productiondate;
}
set
{
if (_productiondate != value)
{
_productiondate = value;
OnProductionDateChanged(value);
}
}
}
protected Byte[] _calibrationdata;
///
/// Gets or sets the dispenserbase calibration data.
///
[Column("CALIBRATION_DATA")]
public Byte[] CalibrationData
{
get
{
return _calibrationdata;
}
set
{
if (_calibrationdata != value)
{
_calibrationdata = value;
OnCalibrationDataChanged(value);
}
}
}
protected DispenserType _dispensertype;
///
/// Gets or sets the dispenserbase dispenser types.
///
[XmlIgnore]
[JsonIgnore]
public virtual DispenserType DispenserType
{
get
{
return _dispensertype;
}
set
{
if (_dispensertype != value)
{
_dispensertype = value;
if (DispenserType != null)
{
DispenserTypeGuid = DispenserType.Guid;
}
OnDispenserTypeChanged(value);
}
}
}
protected SynchronizedObservableCollection _idspacks;
///
/// Gets or sets the dispenserbase ids packs.
///
public virtual SynchronizedObservableCollection IdsPacks
{
get
{
return _idspacks;
}
set
{
if (_idspacks != value)
{
_idspacks = value;
OnIdsPacksChanged(value);
}
}
}
///
/// Called when the SerialNumber has changed.
///
protected virtual void OnSerialNumberChanged(String serialnumber)
{
SerialNumberChanged?.Invoke(this, serialnumber);
RaisePropertyChanged(nameof(SerialNumber));
}
///
/// Called when the NlPerPulse has changed.
///
protected virtual void OnNlPerPulseChanged(Double nlperpulse)
{
NlPerPulseChanged?.Invoke(this, nlperpulse);
RaisePropertyChanged(nameof(NlPerPulse));
}
///
/// Called when the PartNumber has changed.
///
protected virtual void OnPartNumberChanged(String partnumber)
{
PartNumberChanged?.Invoke(this, partnumber);
RaisePropertyChanged(nameof(PartNumber));
}
///
/// Called when the PcbSerial has changed.
///
protected virtual void OnPcbSerialChanged(String pcbserial)
{
PcbSerialChanged?.Invoke(this, pcbserial);
RaisePropertyChanged(nameof(PcbSerial));
}
///
/// Called when the PcbVersion has changed.
///
protected virtual void OnPcbVersionChanged(String pcbversion)
{
PcbVersionChanged?.Invoke(this, pcbversion);
RaisePropertyChanged(nameof(PcbVersion));
}
///
/// Called when the ProductionDate has changed.
///
protected virtual void OnProductionDateChanged(Nullable productiondate)
{
ProductionDateChanged?.Invoke(this, productiondate);
RaisePropertyChanged(nameof(ProductionDate));
}
///
/// Called when the CalibrationData has changed.
///
protected virtual void OnCalibrationDataChanged(Byte[] calibrationdata)
{
CalibrationDataChanged?.Invoke(this, calibrationdata);
RaisePropertyChanged(nameof(CalibrationData));
}
///
/// Called when the DispenserType has changed.
///
protected virtual void OnDispenserTypeChanged(DispenserType dispensertype)
{
DispenserTypeChanged?.Invoke(this, dispensertype);
RaisePropertyChanged(nameof(DispenserType));
}
///
/// Called when the IdsPacks has changed.
///
protected virtual void OnIdsPacksChanged(SynchronizedObservableCollection idspacks)
{
IdsPacksChanged?.Invoke(this, idspacks);
RaisePropertyChanged(nameof(IdsPacks));
}
///
/// Initializes a new instance of the class.
///
public DispenserBase() : base()
{
IdsPacks = new SynchronizedObservableCollection();
}
}
}