//------------------------------------------------------------------------------
//
// 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("SEGMENTS")]
public abstract class SegmentBase : ObservableEntity
{
public event EventHandler NameChanged;
public event EventHandler LengthChanged;
public event EventHandler SegmentIndexChanged;
public event EventHandler> BrushStopsChanged;
public event EventHandler JobChanged;
public event EventHandler SegmentsGroupChanged;
protected String _name;
///
/// Gets or sets the segmentbase name.
///
[Column("NAME")]
public String Name
{
get
{
return _name;
}
set
{
if (_name != value)
{
_name = value;
OnNameChanged(value);
}
}
}
protected String _jobguid;
///
/// Gets or sets the segmentbase job guid.
///
[Column("JOB_GUID")]
[ForeignKey("Job")]
public String JobGuid
{
get
{
return _jobguid;
}
set
{
if (_jobguid != value)
{
_jobguid = value;
}
}
}
protected Double _length;
///
/// Gets or sets the segmentbase length.
///
[Column("LENGTH")]
public Double Length
{
get
{
return _length;
}
set
{
if (_length != value)
{
_length = value;
OnLengthChanged(value);
}
}
}
protected Int32 _segmentindex;
///
/// Gets or sets the segmentbase segment index.
///
[Column("SEGMENT_INDEX")]
public Int32 SegmentIndex
{
get
{
return _segmentindex;
}
set
{
if (_segmentindex != value)
{
_segmentindex = value;
OnSegmentIndexChanged(value);
}
}
}
protected String _segmentsgroupguid;
///
/// Gets or sets the segmentbase segments group guid.
///
[Column("SEGMENTS_GROUP_GUID")]
[ForeignKey("SegmentsGroup")]
public String SegmentsGroupGuid
{
get
{
return _segmentsgroupguid;
}
set
{
if (_segmentsgroupguid != value)
{
_segmentsgroupguid = value;
}
}
}
protected SynchronizedObservableCollection _brushstops;
///
/// Gets or sets the segmentbase brush stops.
///
public virtual SynchronizedObservableCollection BrushStops
{
get
{
return _brushstops;
}
set
{
if (_brushstops != value)
{
_brushstops = value;
OnBrushStopsChanged(value);
}
}
}
protected Job _job;
///
/// Gets or sets the segmentbase job.
///
[XmlIgnore]
[JsonIgnore]
public virtual Job Job
{
get
{
return _job;
}
set
{
if (_job != value)
{
_job = value;
if (Job != null)
{
JobGuid = Job.Guid;
}
OnJobChanged(value);
}
}
}
protected SegmentsGroup _segmentsgroup;
///
/// Gets or sets the segmentbase segments groups.
///
[XmlIgnore]
[JsonIgnore]
public virtual SegmentsGroup SegmentsGroup
{
get
{
return _segmentsgroup;
}
set
{
if (_segmentsgroup != value)
{
_segmentsgroup = value;
if (SegmentsGroup != null)
{
SegmentsGroupGuid = SegmentsGroup.Guid;
}
OnSegmentsGroupChanged(value);
}
}
}
///
/// Called when the Name has changed.
///
protected virtual void OnNameChanged(String name)
{
NameChanged?.Invoke(this, name);
RaisePropertyChanged(nameof(Name));
}
///
/// Called when the Length has changed.
///
protected virtual void OnLengthChanged(Double length)
{
LengthChanged?.Invoke(this, length);
RaisePropertyChanged(nameof(Length));
}
///
/// Called when the SegmentIndex has changed.
///
protected virtual void OnSegmentIndexChanged(Int32 segmentindex)
{
SegmentIndexChanged?.Invoke(this, segmentindex);
RaisePropertyChanged(nameof(SegmentIndex));
}
///
/// Called when the BrushStops has changed.
///
protected virtual void OnBrushStopsChanged(SynchronizedObservableCollection brushstops)
{
BrushStopsChanged?.Invoke(this, brushstops);
RaisePropertyChanged(nameof(BrushStops));
}
///
/// Called when the Job has changed.
///
protected virtual void OnJobChanged(Job job)
{
JobChanged?.Invoke(this, job);
RaisePropertyChanged(nameof(Job));
}
///
/// Called when the SegmentsGroup has changed.
///
protected virtual void OnSegmentsGroupChanged(SegmentsGroup segmentsgroup)
{
SegmentsGroupChanged?.Invoke(this, segmentsgroup);
RaisePropertyChanged(nameof(SegmentsGroup));
}
///
/// Initializes a new instance of the class.
///
public SegmentBase() : base()
{
BrushStops = new SynchronizedObservableCollection();
}
}
}