//------------------------------------------------------------------------------ // // 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() { } } }