FrameworkTemplate/SolutionTemplate/Entities/Context/BusinessUnit.cs

//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using DG.XrmContext;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Client;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Linq.Expressions;
using System.Runtime.Serialization;


namespace Entities {
    
    
    /// <summary>
    /// <para>Business, division, or department in the Microsoft Dynamics 365 database.</para>
    /// <para>Display Name: Business Unit</para>
    /// </summary>
    [EntityLogicalName("businessunit")]
    [DebuggerDisplay("{DebuggerDisplay,nq}")]
    [DataContract()]
    public partial class BusinessUnit : ExtendedEntity<EmptyEnum, EmptyEnum> {
        
        public const string EntityLogicalName = "businessunit";
        
        public const int EntityTypeCode = 10;
        
        public BusinessUnit() :
                base(EntityLogicalName) {
        }
        
        public BusinessUnit(Guid Id) :
                base(EntityLogicalName, Id) {
        }
        
        private string DebuggerDisplay {
            get {
                return GetDebuggerDisplay("name");
            }
        }
        
        [AttributeLogicalName("businessunitid")]
        public override Guid Id {
            get {
                return base.Id;
            }
            set {
                SetId("businessunitid", value);
            }
        }
        
        /// <summary>
        /// <para>Unique identifier of the business unit.</para>
        /// <para>Display Name: Business Unit</para>
        /// </summary>
        [AttributeLogicalName("businessunitid")]
        public Guid? BusinessUnitId {
            get {
                return GetAttributeValue<Guid?>("businessunitid");
            }
            set {
                SetId("businessunitid", value);
            }
        }
        
        /// <summary>
        /// <para>Unique identifier for address 1.</para>
        /// <para>Display Name: Address 1: ID</para>
        /// </summary>
        [AttributeLogicalName("address1_addressid")]
        public Guid? Address1_AddressId {
            get {
                return GetAttributeValue<Guid?>("address1_addressid");
            }
            set {
                SetAttributeValue("address1_addressid", value);
            }
        }
        
        /// <summary>
        /// <para>Type of address for address 1, such as billing, shipping, or primary address.</para>
        /// <para>Display Name: Address 1: Address Type</para>
        /// </summary>
        [AttributeLogicalName("address1_addresstypecode")]
        public BusinessUnit_Address1_AddressTypeCode? Address1_AddressTypeCode {
            get {
                return GetOptionSetValue<BusinessUnit_Address1_AddressTypeCode>("address1_addresstypecode");
            }
            set {
                SetOptionSetValue("address1_addresstypecode", value);
            }
        }
        
        /// <summary>
        /// <para>City name for address 1.</para>
        /// <para>Display Name: Bill To City</para>
        /// </summary>
        [AttributeLogicalName("address1_city")]
        public string Address1_City {
            get {
                return GetAttributeValue<string>("address1_city");
            }
            set {
                SetAttributeValue("address1_city", value);
            }
        }
        
        /// <summary>
        /// <para>Country/region name for address 1.</para>
        /// <para>Display Name: Bill To Country/Region</para>
        /// </summary>
        [AttributeLogicalName("address1_country")]
        public string Address1_Country {
            get {
                return GetAttributeValue<string>("address1_country");
            }
            set {
                SetAttributeValue("address1_country", value);
            }
        }
        
        /// <summary>
        /// <para>County name for address 1.</para>
        /// <para>Display Name: Address 1: County</para>
        /// </summary>
        [AttributeLogicalName("address1_county")]
        public string Address1_County {
            get {
                return GetAttributeValue<string>("address1_county");
            }
            set {
                SetAttributeValue("address1_county", value);
            }
        }
        
        /// <summary>
        /// <para>Fax number for address 1.</para>
        /// <para>Display Name: Address 1: Fax</para>
        /// </summary>
        [AttributeLogicalName("address1_fax")]
        public string Address1_Fax {
            get {
                return GetAttributeValue<string>("address1_fax");
            }
            set {
                SetAttributeValue("address1_fax", value);
            }
        }
        
        /// <summary>
        /// <para>Latitude for address 1.</para>
        /// <para>Display Name: Address 1: Latitude</para>
        /// </summary>
        [AttributeLogicalName("address1_latitude")]
        public double? Address1_Latitude {
            get {
                return GetAttributeValue<double?>("address1_latitude");
            }
            set {
                SetAttributeValue("address1_latitude", value);
            }
        }
        
        /// <summary>
        /// <para>First line for entering address 1 information.</para>
        /// <para>Display Name: Bill To Street 1</para>
        /// </summary>
        [AttributeLogicalName("address1_line1")]
        public string Address1_Line1 {
            get {
                return GetAttributeValue<string>("address1_line1");
            }
            set {
                SetAttributeValue("address1_line1", value);
            }
        }
        
        /// <summary>
        /// <para>Second line for entering address 1 information.</para>
        /// <para>Display Name: Bill To Street 2</para>
        /// </summary>
        [AttributeLogicalName("address1_line2")]
        public string Address1_Line2 {
            get {
                return GetAttributeValue<string>("address1_line2");
            }
            set {
                SetAttributeValue("address1_line2", value);
            }
        }
        
        /// <summary>
        /// <para>Third line for entering address 1 information.</para>
        /// <para>Display Name: Bill To Street 3</para>
        /// </summary>
        [AttributeLogicalName("address1_line3")]
        public string Address1_Line3 {
            get {
                return GetAttributeValue<string>("address1_line3");
            }
            set {
                SetAttributeValue("address1_line3", value);
            }
        }
        
        /// <summary>
        /// <para>Longitude for address 1.</para>
        /// <para>Display Name: Address 1: Longitude</para>
        /// </summary>
        [AttributeLogicalName("address1_longitude")]
        public double? Address1_Longitude {
            get {
                return GetAttributeValue<double?>("address1_longitude");
            }
            set {
                SetAttributeValue("address1_longitude", value);
            }
        }
        
        /// <summary>
        /// <para>Name to enter for address 1.</para>
        /// <para>Display Name: Address 1: Name</para>
        /// </summary>
        [AttributeLogicalName("address1_name")]
        public string Address1_Name {
            get {
                return GetAttributeValue<string>("address1_name");
            }
            set {
                SetAttributeValue("address1_name", value);
            }
        }
        
        /// <summary>
        /// <para>Post office box number for address 1.</para>
        /// <para>Display Name: Address 1: Post Office Box</para>
        /// </summary>
        [AttributeLogicalName("address1_postofficebox")]
        public string Address1_PostOfficeBox {
            get {
                return GetAttributeValue<string>("address1_postofficebox");
            }
            set {
                SetAttributeValue("address1_postofficebox", value);
            }
        }
        
        /// <summary>
        /// <para>ZIP Code or postal code for address 1.</para>
        /// <para>Display Name: Bill To ZIP/Postal Code</para>
        /// </summary>
        [AttributeLogicalName("address1_postalcode")]
        public string Address1_PostalCode {
            get {
                return GetAttributeValue<string>("address1_postalcode");
            }
            set {
                SetAttributeValue("address1_postalcode", value);
            }
        }
        
        /// <summary>
        /// <para>Method of shipment for address 1.</para>
        /// <para>Display Name: Address 1: Shipping Method</para>
        /// </summary>
        [AttributeLogicalName("address1_shippingmethodcode")]
        public BusinessUnit_Address1_ShippingMethodCode? Address1_ShippingMethodCode {
            get {
                return GetOptionSetValue<BusinessUnit_Address1_ShippingMethodCode>("address1_shippingmethodcode");
            }
            set {
                SetOptionSetValue("address1_shippingmethodcode", value);
            }
        }
        
        /// <summary>
        /// <para>State or province for address 1.</para>
        /// <para>Display Name: Bill To State/Province</para>
        /// </summary>
        [AttributeLogicalName("address1_stateorprovince")]
        public string Address1_StateOrProvince {
            get {
                return GetAttributeValue<string>("address1_stateorprovince");
            }
            set {
                SetAttributeValue("address1_stateorprovince", value);
            }
        }
        
        /// <summary>
        /// <para>First telephone number associated with address 1.</para>
        /// <para>Display Name: Main Phone</para>
        /// </summary>
        [AttributeLogicalName("address1_telephone1")]
        public string Address1_Telephone1 {
            get {
                return GetAttributeValue<string>("address1_telephone1");
            }
            set {
                SetAttributeValue("address1_telephone1", value);
            }
        }
        
        /// <summary>
        /// <para>Second telephone number associated with address 1.</para>
        /// <para>Display Name: Other Phone</para>
        /// </summary>
        [AttributeLogicalName("address1_telephone2")]
        public string Address1_Telephone2 {
            get {
                return GetAttributeValue<string>("address1_telephone2");
            }
            set {
                SetAttributeValue("address1_telephone2", value);
            }
        }
        
        /// <summary>
        /// <para>Third telephone number associated with address 1.</para>
        /// <para>Display Name: Address 1: Telephone 3</para>
        /// </summary>
        [AttributeLogicalName("address1_telephone3")]
        public string Address1_Telephone3 {
            get {
                return GetAttributeValue<string>("address1_telephone3");
            }
            set {
                SetAttributeValue("address1_telephone3", value);
            }
        }
        
        /// <summary>
        /// <para>United Parcel Service (UPS) zone for address 1.</para>
        /// <para>Display Name: Address 1: UPS Zone</para>
        /// </summary>
        [AttributeLogicalName("address1_upszone")]
        public string Address1_UPSZone {
            get {
                return GetAttributeValue<string>("address1_upszone");
            }
            set {
                SetAttributeValue("address1_upszone", value);
            }
        }
        
        /// <summary>
        /// <para>UTC offset for address 1. This is the difference between local time and standard Coordinated Universal Time.</para>
        /// <para>Display Name: Address 1: UTC Offset</para>
        /// </summary>
        [AttributeLogicalName("address1_utcoffset")]
        public int? Address1_UTCOffset {
            get {
                return GetAttributeValue<int?>("address1_utcoffset");
            }
            set {
                SetAttributeValue("address1_utcoffset", value);
            }
        }
        
        /// <summary>
        /// <para>Unique identifier for address 2.</para>
        /// <para>Display Name: Address 2: ID</para>
        /// </summary>
        [AttributeLogicalName("address2_addressid")]
        public Guid? Address2_AddressId {
            get {
                return GetAttributeValue<Guid?>("address2_addressid");
            }
            set {
                SetAttributeValue("address2_addressid", value);
            }
        }
        
        /// <summary>
        /// <para>Type of address for address 2, such as billing, shipping, or primary address.</para>
        /// <para>Display Name: Address 2: Address Type</para>
        /// </summary>
        [AttributeLogicalName("address2_addresstypecode")]
        public BusinessUnit_Address2_AddressTypeCode? Address2_AddressTypeCode {
            get {
                return GetOptionSetValue<BusinessUnit_Address2_AddressTypeCode>("address2_addresstypecode");
            }
            set {
                SetOptionSetValue("address2_addresstypecode", value);
            }
        }
        
        /// <summary>
        /// <para>City name for address 2.</para>
        /// <para>Display Name: Ship To City</para>
        /// </summary>
        [AttributeLogicalName("address2_city")]
        public string Address2_City {
            get {
                return GetAttributeValue<string>("address2_city");
            }
            set {
                SetAttributeValue("address2_city", value);
            }
        }
        
        /// <summary>
        /// <para>Country/region name for address 2.</para>
        /// <para>Display Name: Ship To Country/Region</para>
        /// </summary>
        [AttributeLogicalName("address2_country")]
        public string Address2_Country {
            get {
                return GetAttributeValue<string>("address2_country");
            }
            set {
                SetAttributeValue("address2_country", value);
            }
        }
        
        /// <summary>
        /// <para>County name for address 2.</para>
        /// <para>Display Name: Address 2: County</para>
        /// </summary>
        [AttributeLogicalName("address2_county")]
        public string Address2_County {
            get {
                return GetAttributeValue<string>("address2_county");
            }
            set {
                SetAttributeValue("address2_county", value);
            }
        }
        
        /// <summary>
        /// <para>Fax number for address 2.</para>
        /// <para>Display Name: Address 2: Fax</para>
        /// </summary>
        [AttributeLogicalName("address2_fax")]
        public string Address2_Fax {
            get {
                return GetAttributeValue<string>("address2_fax");
            }
            set {
                SetAttributeValue("address2_fax", value);
            }
        }
        
        /// <summary>
        /// <para>Latitude for address 2.</para>
        /// <para>Display Name: Address 2: Latitude</para>
        /// </summary>
        [AttributeLogicalName("address2_latitude")]
        public double? Address2_Latitude {
            get {
                return GetAttributeValue<double?>("address2_latitude");
            }
            set {
                SetAttributeValue("address2_latitude", value);
            }
        }
        
        /// <summary>
        /// <para>First line for entering address 2 information.</para>
        /// <para>Display Name: Ship To Street 1</para>
        /// </summary>
        [AttributeLogicalName("address2_line1")]
        public string Address2_Line1 {
            get {
                return GetAttributeValue<string>("address2_line1");
            }
            set {
                SetAttributeValue("address2_line1", value);
            }
        }
        
        /// <summary>
        /// <para>Second line for entering address 2 information.</para>
        /// <para>Display Name: Ship To Street 2</para>
        /// </summary>
        [AttributeLogicalName("address2_line2")]
        public string Address2_Line2 {
            get {
                return GetAttributeValue<string>("address2_line2");
            }
            set {
                SetAttributeValue("address2_line2", value);
            }
        }
        
        /// <summary>
        /// <para>Third line for entering address 2 information.</para>
        /// <para>Display Name: Ship To Street 3</para>
        /// </summary>
        [AttributeLogicalName("address2_line3")]
        public string Address2_Line3 {
            get {
                return GetAttributeValue<string>("address2_line3");
            }
            set {
                SetAttributeValue("address2_line3", value);
            }
        }
        
        /// <summary>
        /// <para>Longitude for address 2.</para>
        /// <para>Display Name: Address 2: Longitude</para>
        /// </summary>
        [AttributeLogicalName("address2_longitude")]
        public double? Address2_Longitude {
            get {
                return GetAttributeValue<double?>("address2_longitude");
            }
            set {
                SetAttributeValue("address2_longitude", value);
            }
        }
        
        /// <summary>
        /// <para>Name to enter for address 2.</para>
        /// <para>Display Name: Address 2: Name</para>
        /// </summary>
        [AttributeLogicalName("address2_name")]
        public string Address2_Name {
            get {
                return GetAttributeValue<string>("address2_name");
            }
            set {
                SetAttributeValue("address2_name", value);
            }
        }
        
        /// <summary>
        /// <para>Post office box number for address 2.</para>
        /// <para>Display Name: Address 2: Post Office Box</para>
        /// </summary>
        [AttributeLogicalName("address2_postofficebox")]
        public string Address2_PostOfficeBox {
            get {
                return GetAttributeValue<string>("address2_postofficebox");
            }
            set {
                SetAttributeValue("address2_postofficebox", value);
            }
        }
        
        /// <summary>
        /// <para>ZIP Code or postal code for address 2.</para>
        /// <para>Display Name: Ship To ZIP/Postal Code</para>
        /// </summary>
        [AttributeLogicalName("address2_postalcode")]
        public string Address2_PostalCode {
            get {
                return GetAttributeValue<string>("address2_postalcode");
            }
            set {
                SetAttributeValue("address2_postalcode", value);
            }
        }
        
        /// <summary>
        /// <para>Method of shipment for address 2.</para>
        /// <para>Display Name: Address 2: Shipping Method</para>
        /// </summary>
        [AttributeLogicalName("address2_shippingmethodcode")]
        public BusinessUnit_Address2_ShippingMethodCode? Address2_ShippingMethodCode {
            get {
                return GetOptionSetValue<BusinessUnit_Address2_ShippingMethodCode>("address2_shippingmethodcode");
            }
            set {
                SetOptionSetValue("address2_shippingmethodcode", value);
            }
        }
        
        /// <summary>
        /// <para>State or province for address 2.</para>
        /// <para>Display Name: Ship To State/Province</para>
        /// </summary>
        [AttributeLogicalName("address2_stateorprovince")]
        public string Address2_StateOrProvince {
            get {
                return GetAttributeValue<string>("address2_stateorprovince");
            }
            set {
                SetAttributeValue("address2_stateorprovince", value);
            }
        }
        
        /// <summary>
        /// <para>First telephone number associated with address 2.</para>
        /// <para>Display Name: Address 2: Telephone 1</para>
        /// </summary>
        [AttributeLogicalName("address2_telephone1")]
        public string Address2_Telephone1 {
            get {
                return GetAttributeValue<string>("address2_telephone1");
            }
            set {
                SetAttributeValue("address2_telephone1", value);
            }
        }
        
        /// <summary>
        /// <para>Second telephone number associated with address 2.</para>
        /// <para>Display Name: Address 2: Telephone 2</para>
        /// </summary>
        [AttributeLogicalName("address2_telephone2")]
        public string Address2_Telephone2 {
            get {
                return GetAttributeValue<string>("address2_telephone2");
            }
            set {
                SetAttributeValue("address2_telephone2", value);
            }
        }
        
        /// <summary>
        /// <para>Third telephone number associated with address 2.</para>
        /// <para>Display Name: Address 2: Telephone 3</para>
        /// </summary>
        [AttributeLogicalName("address2_telephone3")]
        public string Address2_Telephone3 {
            get {
                return GetAttributeValue<string>("address2_telephone3");
            }
            set {
                SetAttributeValue("address2_telephone3", value);
            }
        }
        
        /// <summary>
        /// <para>United Parcel Service (UPS) zone for address 2.</para>
        /// <para>Display Name: Address 2: UPS Zone</para>
        /// </summary>
        [AttributeLogicalName("address2_upszone")]
        public string Address2_UPSZone {
            get {
                return GetAttributeValue<string>("address2_upszone");
            }
            set {
                SetAttributeValue("address2_upszone", value);
            }
        }
        
        /// <summary>
        /// <para>UTC offset for address 2. This is the difference between local time and standard Coordinated Universal Time.</para>
        /// <para>Display Name: Address 2: UTC Offset</para>
        /// </summary>
        [AttributeLogicalName("address2_utcoffset")]
        public int? Address2_UTCOffset {
            get {
                return GetAttributeValue<int?>("address2_utcoffset");
            }
            set {
                SetAttributeValue("address2_utcoffset", value);
            }
        }
        
        /// <summary>
        /// <para>Fiscal calendar associated with the business unit.</para>
        /// <para>Display Name: Calendar</para>
        /// </summary>
        [AttributeLogicalName("calendarid")]
        public EntityReference CalendarId {
            get {
                return GetAttributeValue<EntityReference>("calendarid");
            }
            set {
                SetAttributeValue("calendarid", value);
            }
        }
        
        /// <summary>
        /// <para>Name of the business unit cost center.</para>
        /// <para>Display Name: Cost Center</para>
        /// </summary>
        [AttributeLogicalName("costcenter")]
        public string CostCenter {
            get {
                return GetAttributeValue<string>("costcenter");
            }
            set {
                SetAttributeValue("costcenter", value);
            }
        }
        
        /// <summary>
        /// <para>Unique identifier of the user who created the business unit.</para>
        /// <para>Display Name: Created By</para>
        /// </summary>
        [AttributeLogicalName("createdby")]
        public EntityReference CreatedBy {
            get {
                return GetAttributeValue<EntityReference>("createdby");
            }
        }
        
        /// <summary>
        /// <para>Date and time when the business unit was created.</para>
        /// <para>Display Name: Created On</para>
        /// </summary>
        [AttributeLogicalName("createdon")]
        public DateTime? CreatedOn {
            get {
                return GetAttributeValue<DateTime?>("createdon");
            }
        }
        
        /// <summary>
        /// <para>Unique identifier of the delegate user who created the businessunit.</para>
        /// <para>Display Name: Created By (Delegate)</para>
        /// </summary>
        [AttributeLogicalName("createdonbehalfby")]
        public EntityReference CreatedOnBehalfBy {
            get {
                return GetAttributeValue<EntityReference>("createdonbehalfby");
            }
        }
        
        /// <summary>
        /// <para>Credit limit for the business unit.</para>
        /// <para>Display Name: Credit Limit</para>
        /// </summary>
        [AttributeLogicalName("creditlimit")]
        public double? CreditLimit {
            get {
                return GetAttributeValue<double?>("creditlimit");
            }
            set {
                SetAttributeValue("creditlimit", value);
            }
        }
        
        /// <summary>
        /// <para>Description of the business unit.</para>
        /// <para>Display Name: Description</para>
        /// </summary>
        [AttributeLogicalName("description")]
        public string Description {
            get {
                return GetAttributeValue<string>("description");
            }
            set {
                SetAttributeValue("description", value);
            }
        }
        
        /// <summary>
        /// <para>Reason for disabling the business unit.</para>
        /// <para>Display Name: Disable Reason</para>
        /// </summary>
        [AttributeLogicalName("disabledreason")]
        public string DisabledReason {
            get {
                return GetAttributeValue<string>("disabledreason");
            }
        }
        
        /// <summary>
        /// <para>Name of the division to which the business unit belongs.</para>
        /// <para>Display Name: Division</para>
        /// </summary>
        [AttributeLogicalName("divisionname")]
        public string DivisionName {
            get {
                return GetAttributeValue<string>("divisionname");
            }
            set {
                SetAttributeValue("divisionname", value);
            }
        }
        
        /// <summary>
        /// <para>Email address for the business unit.</para>
        /// <para>Display Name: Email</para>
        /// </summary>
        [AttributeLogicalName("emailaddress")]
        public string EMailAddress {
            get {
                return GetAttributeValue<string>("emailaddress");
            }
            set {
                SetAttributeValue("emailaddress", value);
            }
        }
        
        /// <summary>
        /// <para>Exchange rate for the currency associated with the businessunit with respect to the base currency.</para>
        /// <para>Display Name: Exchange Rate</para>
        /// </summary>
        [AttributeLogicalName("exchangerate")]
        public decimal? ExchangeRate {
            get {
                return GetAttributeValue<decimal?>("exchangerate");
            }
        }
        
        /// <summary>
        /// <para>Alternative name under which the business unit can be filed.</para>
        /// <para>Display Name: File as Name</para>
        /// </summary>
        [AttributeLogicalName("fileasname")]
        public string FileAsName {
            get {
                return GetAttributeValue<string>("fileasname");
            }
            set {
                SetAttributeValue("fileasname", value);
            }
        }
        
        /// <summary>
        /// <para>FTP site URL for the business unit.</para>
        /// <para>Display Name: FTP Site</para>
        /// </summary>
        [AttributeLogicalName("ftpsiteurl")]
        public string FtpSiteUrl {
            get {
                return GetAttributeValue<string>("ftpsiteurl");
            }
            set {
                SetAttributeValue("ftpsiteurl", value);
            }
        }
        
        /// <summary>
        /// <para>Unique identifier of the data import or data migration that created this record.</para>
        /// <para>Display Name: Import Sequence Number</para>
        /// </summary>
        [AttributeLogicalName("importsequencenumber")]
        public int? ImportSequenceNumber {
            get {
                return GetAttributeValue<int?>("importsequencenumber");
            }
            set {
                SetAttributeValue("importsequencenumber", value);
            }
        }
        
        /// <summary>
        /// <para>Inheritance mask for the business unit.</para>
        /// <para>Display Name: Inheritance Mask</para>
        /// </summary>
        [AttributeLogicalName("inheritancemask")]
        public int? InheritanceMask {
            get {
                return GetAttributeValue<int?>("inheritancemask");
            }
            set {
                SetAttributeValue("inheritancemask", value);
            }
        }
        
        /// <summary>
        /// <para>Information about whether the business unit is enabled or disabled.</para>
        /// <para>Display Name: Is Disabled</para>
        /// </summary>
        [AttributeLogicalName("isdisabled")]
        public bool? IsDisabled {
            get {
                return GetAttributeValue<bool?>("isdisabled");
            }
            set {
                SetAttributeValue("isdisabled", value);
            }
        }
        
        /// <summary>
        /// <para>Unique identifier of the user who last modified the business unit.</para>
        /// <para>Display Name: Modified By</para>
        /// </summary>
        [AttributeLogicalName("modifiedby")]
        public EntityReference ModifiedBy {
            get {
                return GetAttributeValue<EntityReference>("modifiedby");
            }
        }
        
        /// <summary>
        /// <para>Date and time when the business unit was last modified.</para>
        /// <para>Display Name: Modified On</para>
        /// </summary>
        [AttributeLogicalName("modifiedon")]
        public DateTime? ModifiedOn {
            get {
                return GetAttributeValue<DateTime?>("modifiedon");
            }
        }
        
        /// <summary>
        /// <para>Unique identifier of the delegate user who last modified the businessunit.</para>
        /// <para>Display Name: Modified By (Delegate)</para>
        /// </summary>
        [AttributeLogicalName("modifiedonbehalfby")]
        public EntityReference ModifiedOnBehalfBy {
            get {
                return GetAttributeValue<EntityReference>("modifiedonbehalfby");
            }
        }
        
        /// <summary>
        /// <para>Name of the business unit.</para>
        /// <para>Display Name: Name</para>
        /// </summary>
        [AttributeLogicalName("name")]
        public string Name {
            get {
                return GetAttributeValue<string>("name");
            }
            set {
                SetAttributeValue("name", value);
            }
        }
        
        /// <summary>
        /// <para>Unique identifier of the organization associated with the business unit.</para>
        /// <para>Display Name: Organization</para>
        /// </summary>
        [AttributeLogicalName("organizationid")]
        public EntityReference OrganizationId {
            get {
                return GetAttributeValue<EntityReference>("organizationid");
            }
        }
        
        /// <summary>
        /// <para>Date and time that the record was migrated.</para>
        /// <para>Display Name: Record Created On</para>
        /// </summary>
        [AttributeLogicalName("overriddencreatedon")]
        public DateTime? OverriddenCreatedOn {
            get {
                return GetAttributeValue<DateTime?>("overriddencreatedon");
            }
            set {
                SetAttributeValue("overriddencreatedon", value);
            }
        }
        
        /// <summary>
        /// <para>Unique identifier for the parent business unit.</para>
        /// <para>Display Name: Parent Business</para>
        /// </summary>
        [AttributeLogicalName("parentbusinessunitid")]
        public EntityReference ParentBusinessUnitId {
            get {
                return GetAttributeValue<EntityReference>("parentbusinessunitid");
            }
            set {
                SetAttributeValue("parentbusinessunitid", value);
            }
        }
        
        /// <summary>
        /// <para>Picture or diagram of the business unit.</para>
        /// <para>Display Name: Picture</para>
        /// </summary>
        [AttributeLogicalName("picture")]
        public string Picture {
            get {
                return GetAttributeValue<string>("picture");
            }
            set {
                SetAttributeValue("picture", value);
            }
        }
        
        /// <summary>
        /// <para>Stock exchange on which the business is listed.</para>
        /// <para>Display Name: Stock Exchange</para>
        /// </summary>
        [AttributeLogicalName("stockexchange")]
        public string StockExchange {
            get {
                return GetAttributeValue<string>("stockexchange");
            }
            set {
                SetAttributeValue("stockexchange", value);
            }
        }
        
        /// <summary>
        /// <para>Stock exchange ticker symbol for the business unit.</para>
        /// <para>Display Name: Ticker Symbol</para>
        /// </summary>
        [AttributeLogicalName("tickersymbol")]
        public string TickerSymbol {
            get {
                return GetAttributeValue<string>("tickersymbol");
            }
            set {
                SetAttributeValue("tickersymbol", value);
            }
        }
        
        /// <summary>
        /// <para>Unique identifier of the currency associated with the businessunit.</para>
        /// <para>Display Name: Currency</para>
        /// </summary>
        [AttributeLogicalName("transactioncurrencyid")]
        public EntityReference TransactionCurrencyId {
            get {
                return GetAttributeValue<EntityReference>("transactioncurrencyid");
            }
            set {
                SetAttributeValue("transactioncurrencyid", value);
            }
        }
        
        /// <summary>
        /// <para>UTC offset for the business unit. This is the difference between local time and standard Coordinated Universal Time.</para>
        /// <para>Display Name: UTC Offset</para>
        /// </summary>
        [AttributeLogicalName("utcoffset")]
        public int? UTCOffset {
            get {
                return GetAttributeValue<int?>("utcoffset");
            }
            set {
                SetAttributeValue("utcoffset", value);
            }
        }
        
        /// <summary>
        /// <para>Version number of the business unit.</para>
        /// <para>Display Name: Version number</para>
        /// </summary>
        [AttributeLogicalName("versionnumber")]
        public long? VersionNumber {
            get {
                return GetAttributeValue<long?>("versionnumber");
            }
        }
        
        /// <summary>
        /// <para>Website URL for the business unit.</para>
        /// <para>Display Name: Website</para>
        /// </summary>
        [AttributeLogicalName("websiteurl")]
        public string WebSiteUrl {
            get {
                return GetAttributeValue<string>("websiteurl");
            }
            set {
                SetAttributeValue("websiteurl", value);
            }
        }
        
        /// <summary>
        /// <para>Information about whether workflow or sales process rules have been suspended.</para>
        /// <para>Display Name: Workflow Suspended</para>
        /// </summary>
        [AttributeLogicalName("workflowsuspended")]
        public bool? WorkflowSuspended {
            get {
                return GetAttributeValue<bool?>("workflowsuspended");
            }
            set {
                SetAttributeValue("workflowsuspended", value);
            }
        }
        
        [RelationshipSchemaName("business_unit_parent_business_unit", EntityRole.Referenced)]
        public IEnumerable<BusinessUnit> Referencedbusiness_unit_parent_business_unit {
            get {
                return GetRelatedEntities<BusinessUnit>("business_unit_parent_business_unit", EntityRole.Referenced);
            }
            set {
                SetRelatedEntities("business_unit_parent_business_unit", EntityRole.Referenced, value);
            }
        }
        
        [AttributeLogicalName("parentbusinessunitid")]
        [RelationshipSchemaName("business_unit_parent_business_unit", EntityRole.Referencing)]
        public BusinessUnit Referencingbusiness_unit_parent_business_unit {
            get {
                return GetRelatedEntity<BusinessUnit>("business_unit_parent_business_unit", EntityRole.Referencing);
            }
            set {
                SetRelatedEntity("business_unit_parent_business_unit", EntityRole.Referencing, value);
            }
        }
        
        [RelationshipSchemaName("business_unit_system_users")]
        public IEnumerable<SystemUser> business_unit_system_users {
            get {
                return GetRelatedEntities<SystemUser>("business_unit_system_users", null);
            }
            set {
                SetRelatedEntities("business_unit_system_users", null, value);
            }
        }
        
        [RelationshipSchemaName("business_unit_teams")]
        public IEnumerable<Team> business_unit_teams {
            get {
                return GetRelatedEntities<Team>("business_unit_teams", null);
            }
            set {
                SetRelatedEntities("business_unit_teams", null, value);
            }
        }
        
        [AttributeLogicalName("createdonbehalfby")]
        [RelationshipSchemaName("lk_businessunit_createdonbehalfby")]
        public SystemUser lk_businessunit_createdonbehalfby {
            get {
                return GetRelatedEntity<SystemUser>("lk_businessunit_createdonbehalfby", null);
            }
            set {
                SetRelatedEntity("lk_businessunit_createdonbehalfby", null, value);
            }
        }
        
        [AttributeLogicalName("modifiedonbehalfby")]
        [RelationshipSchemaName("lk_businessunit_modifiedonbehalfby")]
        public SystemUser lk_businessunit_modifiedonbehalfby {
            get {
                return GetRelatedEntity<SystemUser>("lk_businessunit_modifiedonbehalfby", null);
            }
            set {
                SetRelatedEntity("lk_businessunit_modifiedonbehalfby", null, value);
            }
        }
        
        [AttributeLogicalName("createdby")]
        [RelationshipSchemaName("lk_businessunitbase_createdby")]
        public SystemUser lk_businessunitbase_createdby {
            get {
                return GetRelatedEntity<SystemUser>("lk_businessunitbase_createdby", null);
            }
            set {
                SetRelatedEntity("lk_businessunitbase_createdby", null, value);
            }
        }
        
        [AttributeLogicalName("modifiedby")]
        [RelationshipSchemaName("lk_businessunitbase_modifiedby")]
        public SystemUser lk_businessunitbase_modifiedby {
            get {
                return GetRelatedEntity<SystemUser>("lk_businessunitbase_modifiedby", null);
            }
            set {
                SetRelatedEntity("lk_businessunitbase_modifiedby", null, value);
            }
        }
        
        public static BusinessUnit Retrieve(IOrganizationService service, Guid id, params Expression<Func<BusinessUnit,object>>[] attrs) {
            return service.Retrieve(id, attrs);
        }
    }
    
    [DataContract()]
    public enum BusinessUnit_Address1_AddressTypeCode {
        
        [EnumMember()]
        DefaultValue = 1,
    }
    
    [DataContract()]
    public enum BusinessUnit_Address2_AddressTypeCode {
        
        [EnumMember()]
        DefaultValue = 1,
    }
    
    [DataContract()]
    public enum BusinessUnit_Address2_ShippingMethodCode {
        
        [EnumMember()]
        DefaultValue = 1,
    }
    
    [DataContract()]
    public enum BusinessUnit_Address1_ShippingMethodCode {
        
        [EnumMember()]
        DefaultValue = 1,
    }
}