//------------------------------------------------------------------------------
//
// 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("USERS_ROLES")]
public abstract class UsersRoleBase : ObservableEntity
{
public event EventHandler RoleChanged;
public event EventHandler UserChanged;
protected String _userguid;
///
/// Gets or sets the usersrolebase user guid.
///
[Column("USER_GUID")]
[ForeignKey("User")]
public String UserGuid
{
get
{
return _userguid;
}
set
{
if (_userguid != value)
{
_userguid = value;
}
}
}
protected String _roleguid;
///
/// Gets or sets the usersrolebase role guid.
///
[Column("ROLE_GUID")]
[ForeignKey("Role")]
public String RoleGuid
{
get
{
return _roleguid;
}
set
{
if (_roleguid != value)
{
_roleguid = value;
}
}
}
protected Role _role;
///
/// Gets or sets the usersrolebase role.
///
[XmlIgnore]
[JsonIgnore]
public virtual Role Role
{
get
{
return _role;
}
set
{
if (_role != value)
{
_role = value;
if (Role != null)
{
RoleGuid = Role.Guid;
}
OnRoleChanged(value);
}
}
}
protected User _user;
///
/// Gets or sets the usersrolebase user.
///
[XmlIgnore]
[JsonIgnore]
public virtual User User
{
get
{
return _user;
}
set
{
if (_user != value)
{
_user = value;
if (User != null)
{
UserGuid = User.Guid;
}
OnUserChanged(value);
}
}
}
///
/// Called when the Role has changed.
///
protected virtual void OnRoleChanged(Role role)
{
RoleChanged?.Invoke(this, role);
RaisePropertyChanged(nameof(Role));
}
///
/// Called when the User has changed.
///
protected virtual void OnUserChanged(User user)
{
UserChanged?.Invoke(this, user);
RaisePropertyChanged(nameof(User));
}
///
/// Initializes a new instance of the class.
///
public UsersRoleBase() : base()
{
}
}
}