//------------------------------------------------------------------------------
//
// 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_GROUPS")]
public abstract class SegmentsGroupBase : ObservableEntity
{
public event EventHandler SegmentIndexChanged;
public event EventHandler RepeatsChanged;
public event EventHandler JobChanged;
public event EventHandler> SegmentsChanged;
protected Int32 _segmentindex;
///
/// Gets or sets the segmentsgroupbase segment index.
///
[Column("SEGMENT_INDEX")]
public Int32 SegmentIndex
{
get
{
return _segmentindex;
}
set
{
if (_segmentindex != value)
{
_segmentindex = value;
OnSegmentIndexChanged(value);
}
}
}
protected Int32 _repeats;
///
/// Gets or sets the segmentsgroupbase repeats.
///
[Column("REPEATS")]
public Int32 Repeats
{
get
{
return _repeats;
}
set
{
if (_repeats != value)
{
_repeats = value;
OnRepeatsChanged(value);
}
}
}
protected String _jobguid;
///
/// Gets or sets the segmentsgroupbase job guid.
///
[Column("JOB_GUID")]
[ForeignKey("Job")]
public String JobGuid
{
get
{
return _jobguid;
}
set
{
if (_jobguid != value)
{
_jobguid = value;
}
}
}
protected Job _job;
///
/// Gets or sets the segmentsgroupbase 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 SynchronizedObservableCollection _segments;
///
/// Gets or sets the segmentsgroupbase segments.
///
public virtual SynchronizedObservableCollection Segments
{
get
{
return _segments;
}
set
{
if (_segments != value)
{
_segments = value;
OnSegmentsChanged(value);
}
}
}
///
/// Called when the SegmentIndex has changed.
///
protected virtual void OnSegmentIndexChanged(Int32 segmentindex)
{
SegmentIndexChanged?.Invoke(this, segmentindex);
RaisePropertyChanged(nameof(SegmentIndex));
}
///
/// Called when the Repeats has changed.
///
protected virtual void OnRepeatsChanged(Int32 repeats)
{
RepeatsChanged?.Invoke(this, repeats);
RaisePropertyChanged(nameof(Repeats));
}
///
/// Called when the Job has changed.
///
protected virtual void OnJobChanged(Job job)
{
JobChanged?.Invoke(this, job);
RaisePropertyChanged(nameof(Job));
}
///
/// Called when the Segments has changed.
///
protected virtual void OnSegmentsChanged(SynchronizedObservableCollection segments)
{
SegmentsChanged?.Invoke(this, segments);
RaisePropertyChanged(nameof(Segments));
}
///
/// Initializes a new instance of the class.
///
public SegmentsGroupBase() : base()
{
Segments = new SynchronizedObservableCollection();
}
}
}