//------------------------------------------------------------------------------
// <auto-generated>
// 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!
// </auto-generated>
//------------------------------------------------------------------------------
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;
namespace Tango.BL.Entities
{
[Table("PROCESS_PARAMETERS_TABLES_GROUPS")]
public abstract class ProcessParametersTablesGroupBase : ObservableEntity<ProcessParametersTablesGroup>
{
public event EventHandler<String> NameChanged;
public event EventHandler<Boolean> ActiveChanged;
public event EventHandler<DateTime> SaveDateChanged;
public event EventHandler<SynchronizedObservableCollection<ProcessParametersTable>> ProcessParametersTablesChanged;
public event EventHandler<Rml> RmlChanged;
protected String _rmlguid;
/// <summary>
/// Gets or sets the processparameterstablesgroupbase rml guid.
/// </summary>
[Column("RML_GUID")]
[ForeignKey("Rml")]
public String RmlGuid
{
get
{
return _rmlguid;
}
set
{
if (_rmlguid != value)
{
_rmlguid = value;
}
}
}
protected String _name;
/// <summary>
/// Gets or sets the processparameterstablesgroupbase name.
/// </summary>
[Column("NAME")]
public String Name
{
get
{
return _name;
}
set
{
if (_name != value)
{
_name = value;
OnNameChanged(value);
}
}
}
protected Boolean _active;
/// <summary>
/// Gets or sets the processparameterstablesgroupbase active.
/// </summary>
[Column("ACTIVE")]
public Boolean Active
{
get
{
return _active;
}
set
{
if (_active != value)
{
_active = value;
OnActiveChanged(value);
}
}
}
protected DateTime _savedate;
/// <summary>
/// Gets or sets the processparameterstablesgroupbase save date.
/// </summary>
[Column("SAVE_DATE")]
public DateTime SaveDate
{
get
{
return _savedate;
}
set
{
if (_savedate != value)
{
_savedate = value;
OnSaveDateChanged(value);
}
}
}
protected SynchronizedObservableCollection<ProcessParametersTable> _processparameterstables;
/// <summary>
/// Gets or sets the processparameterstablesgroupbase process parameters tables.
/// </summary>
public virtual SynchronizedObservableCollection<ProcessParametersTable> ProcessParametersTables
{
get
{
return _processparameterstables;
}
set
{
if (_processparameterstables != value)
{
_processparameterstables = value;
OnProcessParametersTablesChanged(value);
}
}
}
protected Rml _rml;
/// <summary>
/// Gets or sets the processparameterstablesgroupbase rml.
/// </summary>
[XmlIgnore]
[JsonIgnore]
public virtual Rml Rml
{
get
{
return _rml;
}
set
{
if (_rml != value)
{
_rml = value;
if (Rml != null)
{
RmlGuid = Rml.Guid;
}
OnRmlChanged(value);
}
}
}
/// <summary>
/// Called when the Name has changed.
/// </summary>
protected virtual void OnNameChanged(String name)
{
NameChanged?.Invoke(this, name);
RaisePropertyChanged(nameof(Name));
}
/// <summary>
/// Called when the Active has changed.
/// </summary>
protected virtual void OnActiveChanged(Boolean active)
{
ActiveChanged?.Invoke(this, active);
RaisePropertyChanged(nameof(Active));
}
/// <summary>
/// Called when the SaveDate has changed.
/// </summary>
protected virtual void OnSaveDateChanged(DateTime savedate)
{
SaveDateChanged?.Invoke(this, savedate);
RaisePropertyChanged(nameof(SaveDate));
}
/// <summary>
/// Called when the ProcessParametersTables has changed.
/// </summary>
protected virtual void OnProcessParametersTablesChanged(SynchronizedObservableCollection<ProcessParametersTable> processparameterstables)
{
ProcessParametersTablesChanged?.Invoke(this, processparameterstables);
RaisePropertyChanged(nameof(ProcessParametersTables));
}
/// <summary>
/// Called when the Rml has changed.
/// </summary>
protected virtual void OnRmlChanged(Rml rml)
{
RmlChanged?.Invoke(this, rml);
RaisePropertyChanged(nameof(Rml));
}
/// <summary>
/// Initializes a new instance of the <see cref="ProcessParametersTablesGroupBase" /> class.
/// </summary>
public ProcessParametersTablesGroupBase() : base()
{
ProcessParametersTables = new SynchronizedObservableCollection<ProcessParametersTable>();
}
}
}