//------------------------------------------------------------------------------
//
// 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("PUBLISHED_PROCEDURE_PROJECTS_VERSIONS")]
public abstract class PublishedProcedureProjectsVersionBase : ObservableEntity
{
public event EventHandler VersionChanged;
public event EventHandler AuthorChanged;
public event EventHandler ProjectJsonStringChanged;
public event EventHandler PublishedProcedureProjectChanged;
protected String _publishedprocedureprojectguid;
///
/// Gets or sets the publishedprocedureprojectsversionbase published procedure project guid.
///
[Column("PUBLISHED_PROCEDURE_PROJECT_GUID")]
[ForeignKey("PublishedProcedureProject")]
public String PublishedProcedureProjectGuid
{
get
{
return _publishedprocedureprojectguid;
}
set
{
if (_publishedprocedureprojectguid != value)
{
_publishedprocedureprojectguid = value;
}
}
}
protected Int32 _version;
///
/// Gets or sets the publishedprocedureprojectsversionbase version.
///
[Column("VERSION")]
public Int32 Version
{
get
{
return _version;
}
set
{
if (_version != value)
{
_version = value;
OnVersionChanged(value);
}
}
}
protected String _author;
///
/// Gets or sets the publishedprocedureprojectsversionbase author.
///
[Column("AUTHOR")]
public String Author
{
get
{
return _author;
}
set
{
if (_author != value)
{
_author = value;
OnAuthorChanged(value);
}
}
}
protected String _projectjsonstring;
///
/// Gets or sets the publishedprocedureprojectsversionbase project json string.
///
[Column("PROJECT_JSON_STRING")]
public String ProjectJsonString
{
get
{
return _projectjsonstring;
}
set
{
if (_projectjsonstring != value)
{
_projectjsonstring = value;
OnProjectJsonStringChanged(value);
}
}
}
protected PublishedProcedureProject _publishedprocedureproject;
///
/// Gets or sets the publishedprocedureprojectsversionbase published procedure projects.
///
[XmlIgnore]
[JsonIgnore]
public virtual PublishedProcedureProject PublishedProcedureProject
{
get
{
return _publishedprocedureproject;
}
set
{
if (_publishedprocedureproject != value)
{
_publishedprocedureproject = value;
if (PublishedProcedureProject != null)
{
PublishedProcedureProjectGuid = PublishedProcedureProject.Guid;
}
OnPublishedProcedureProjectChanged(value);
}
}
}
///
/// Called when the Version has changed.
///
protected virtual void OnVersionChanged(Int32 version)
{
VersionChanged?.Invoke(this, version);
RaisePropertyChanged(nameof(Version));
}
///
/// Called when the Author has changed.
///
protected virtual void OnAuthorChanged(String author)
{
AuthorChanged?.Invoke(this, author);
RaisePropertyChanged(nameof(Author));
}
///
/// Called when the ProjectJsonString has changed.
///
protected virtual void OnProjectJsonStringChanged(String projectjsonstring)
{
ProjectJsonStringChanged?.Invoke(this, projectjsonstring);
RaisePropertyChanged(nameof(ProjectJsonString));
}
///
/// Called when the PublishedProcedureProject has changed.
///
protected virtual void OnPublishedProcedureProjectChanged(PublishedProcedureProject publishedprocedureproject)
{
PublishedProcedureProjectChanged?.Invoke(this, publishedprocedureproject);
RaisePropertyChanged(nameof(PublishedProcedureProject));
}
///
/// Initializes a new instance of the class.
///
public PublishedProcedureProjectsVersionBase() : base()
{
}
}
}