// ------------------------------------------------------------------------------
// This is autogenerated code from the CodeFirst template.  This file will be
// automatically re-generated from the EDMX when it is saved or the .tt is run.
// You will usually want to first generate your CodeFirst classes from your model
// and then make all subsequent modifications manually.  To avoid losing your
// changes, rename and move this code file so that it will not be re-generated.
// 
//    Generated at: 9/4/2012 7:04:45 PM
//    DevForce version: 6.1.7.1
//    Template version: 2.1.4
// ------------------------------------------------------------------------------
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Runtime.Serialization;
using IbEm   = IdeaBlade.EntityModel;
using IbCore = IdeaBlade.Core;
using IbVal  = IdeaBlade.Validation;
using IbAop  = IdeaBlade.Aop;

namespace iRely.Model { 

  #region tblSMSecurityMenuList class

  /// <summary>The auto-generated tblSMSecurityMenuList class. </summary>
  
  
  [Table("tblSMSecurityMenuList", Schema="dbo")]
  public partial class tblSMSecurityMenuList : iRely.BaseModel.iRelyEntity {

    #region Data Properties

    /// <summary>Gets or sets the intMenuID. </summary>
    [Key]
    //[ForeignKey("tblSMImageFile")]
    [DataMember]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Column("intMenuID")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="intMenuID", AutoGenerateField=true)]
    [IbVal.RequiredValueVerifier( ErrorMessageResourceName="tblSMSecurityMenuList_intMenuID")]
    public int intMenuID {
      get; set;
    }

    /// <summary>Gets or sets the intParentID. </summary>
    [DataMember]
    [Column("intParentID")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="intParentID", AutoGenerateField=true)]
    public System.Nullable<int> intParentID {
      get; set;
    }

    /// <summary>Gets or sets the intProductID. </summary>
    [DataMember]
    [Column("intProductID")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="intProductID", AutoGenerateField=true)]
    public System.Nullable<int> intProductID {
      get; set;
    }

    /// <summary>Gets or sets the strName. </summary>
    [DataMember]
    [Column("strName")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="strName", AutoGenerateField=true)]
    [IbVal.StringLengthVerifier(MaxValue=50, IsRequired=false, ErrorMessageResourceName="tblSMSecurityMenuList_strName")]
    public string strName {
      get; set;
    }

    /// <summary>Gets or sets the intSort. </summary>
    [DataMember]
    [Column("intSort")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="intSort", AutoGenerateField=true)]
    public System.Nullable<int> intSort {
      get; set;
    }

    /// <summary>Gets or sets the strType. </summary>
    [DataMember]
    [Column("strType")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="strType", AutoGenerateField=true)]
    [IbVal.StringLengthVerifier(MaxValue=15, IsRequired=false, ErrorMessageResourceName="tblSMSecurityMenuList_strType")]
    public string strType {
      get; set;
    }

    /// <summary>Gets or sets the ysnExpanded. </summary>
    [DataMember]
    [Column("ysnExpanded")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="ysnExpanded", AutoGenerateField=true)]
    [IbVal.RequiredValueVerifier( ErrorMessageResourceName="tblSMSecurityMenuList_ysnExpanded")]
    public bool ysnExpanded {
      get; set;
    }

    /// <summary>Gets or sets the strCommand. </summary>
    [DataMember]
    [Column("strCommand")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="strCommand", AutoGenerateField=true)]
    [IbVal.StringLengthVerifier(MaxValue=250, IsRequired=false, ErrorMessageResourceName="tblSMSecurityMenuList_strCommand")]
    public string strCommand {
      get; set;
    }

    /// <summary>Gets or sets the strDescription. </summary>
    [DataMember]
    [Column("strDescription")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="strDescription", AutoGenerateField=true)]
    [IbVal.StringLengthVerifier(MaxValue=50, IsRequired=false, ErrorMessageResourceName="tblSMSecurityMenuList_strDescription")]
    public string strDescription {
      get; set;
    }

    /// <summary>Gets or sets the strShortCutKey. </summary>
    [DataMember]
    [Column("strShortCutKey")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="strShortCutKey", AutoGenerateField=true)]
    [IbVal.StringLengthVerifier(MaxValue=50, IsRequired=false, ErrorMessageResourceName="tblSMSecurityMenuList_strShortCutKey")]
    public string strShortCutKey {
      get; set;
    }

    /// <summary>Gets or sets the imgIcon. </summary>
    [DataMember]
    [Column("imgIcon")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="imgIcon", AutoGenerateField=true)]
    public byte[] imgIcon {
      get; set;
    }
    #endregion Data Properties

    #region Navigation properties

    /// <summary>Gets or sets the tblSMImageFile. </summary>
    [DataMember]
    [InverseProperty("tblSMSecurityMenuList")]
    [Bindable(false)]
    [Display(Name="tblSMImageFile", AutoGenerateField=false)]
    public tblSMImageFile tblSMImageFile {
      get; set;
    }

    /// <summary>Gets the tblSMMenuFavorites. </summary>
    [DataMember]
    [InverseProperty("tblSMSecurityMenuList")]
    [Bindable(false)]
    [Display(Name="tblSMMenuFavorites", AutoGenerateField=false)]
    public IbEm.RelatedEntityList<tblSMMenuFavorite> tblSMMenuFavorites {
      get; set;
    }

    /// <summary>Gets the tblSMMenuRecents. </summary>
    [DataMember]
    [InverseProperty("tblSMSecurityMenuList")]
    [Bindable(false)]
    [Display(Name="tblSMMenuRecents", AutoGenerateField=false)]
    public IbEm.RelatedEntityList<tblSMMenuRecent> tblSMMenuRecents {
      get; set;
    }

    /// <summary>Gets the tblSMMenuReports. </summary>
    [DataMember]
    [InverseProperty("tblSMSecurityMenuList")]
    [Bindable(false)]
    [Display(Name="tblSMMenuReports", AutoGenerateField=false)]
    public IbEm.RelatedEntityList<tblSMMenuReport> tblSMMenuReports {
      get; set;
    }

    /// <summary>Gets the tblSMSecurityMenuUserDetails. </summary>
    [DataMember]
    [InverseProperty("tblSMSecurityMenuList")]
    [Bindable(false)]
    [Display(Name="tblSMSecurityMenuUserDetails", AutoGenerateField=false)]
    public IbEm.RelatedEntityList<tblSMSecurityMenuUserDetail> tblSMSecurityMenuUserDetails {
      get; set;
    }

    /// <summary>Gets the tblSMSecurityUserGroupMenus. </summary>
    [DataMember]
    [InverseProperty("tblSMSecurityMenuList")]
    [Bindable(false)]
    [Display(Name="tblSMSecurityUserGroupMenus", AutoGenerateField=false)]
    public IbEm.RelatedEntityList<tblSMSecurityUserGroupMenu> tblSMSecurityUserGroupMenus {
      get; set;
    }

    /// <summary>Gets the tblSMSecurityUserMenus. </summary>
    [DataMember]
    [InverseProperty("tblSMSecurityMenuList")]
    [Bindable(false)]
    [Display(Name="tblSMSecurityUserMenus", AutoGenerateField=false)]
    public IbEm.RelatedEntityList<tblSMSecurityUserMenu> tblSMSecurityUserMenus {
      get; set;
    }
    #endregion Navigation properties

    #region EntityPropertyNames
    public partial class EntityPropertyNames  {
      public const String intMenuID = "intMenuID";
      public const String intParentID = "intParentID";
      public const String intProductID = "intProductID";
      public const String strName = "strName";
      public const String intSort = "intSort";
      public const String strType = "strType";
      public const String ysnExpanded = "ysnExpanded";
      public const String strCommand = "strCommand";
      public const String strDescription = "strDescription";
      public const String strShortCutKey = "strShortCutKey";
      public const String imgIcon = "imgIcon";
      public const String tblSMImageFile = "tblSMImageFile";
      public const String tblSMMenuFavorites = "tblSMMenuFavorites";
      public const String tblSMMenuRecents = "tblSMMenuRecents";
      public const String tblSMMenuReports = "tblSMMenuReports";
      public const String tblSMSecurityMenuUserDetails = "tblSMSecurityMenuUserDetails";
      public const String tblSMSecurityUserGroupMenus = "tblSMSecurityUserGroupMenus";
      public const String tblSMSecurityUserMenus = "tblSMSecurityUserMenus";
    }
    #endregion EntityPropertyNames
  }
  #endregion tblSMSecurityMenuList class
}
