FrameworkTemplate/SolutionTemplate/Entities/Context/Team.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>Collection of system users that routinely collaborate. Teams can be used to simplify record sharing and provide team members with common access to organization data when team members belong to different Business Units.</para>
    /// <para>Display Name: Team</para>
    /// </summary>
    [EntityLogicalName("team")]
    [DebuggerDisplay("{DebuggerDisplay,nq}")]
    [DataContract()]
    public partial class Team : ExtendedEntity<EmptyEnum, EmptyEnum> {
         
        public const string EntityLogicalName = "team";
         
        public const int EntityTypeCode = 9;
         
        public Team() :
                base(EntityLogicalName) {
        }
         
        public Team(Guid Id) :
                base(EntityLogicalName, Id) {
        }
         
        private string DebuggerDisplay {
            get {
                return GetDebuggerDisplay("name");
            }
        }
         
        [AttributeLogicalName("teamid")]
        public override Guid Id {
            get {
                return base.Id;
            }
            set {
                SetId("teamid", value);
            }
        }
         
        /// <summary>
        /// <para>Unique identifier for the team.</para>
        /// <para>Display Name: Team</para>
        /// </summary>
        [AttributeLogicalName("teamid")]
        public Guid? TeamId {
            get {
                return GetAttributeValue<Guid?>("teamid");
            }
            set {
                SetId("teamid", value);
            }
        }
         
        /// <summary>
        /// <para>Unique identifier of the user primary responsible for the team.</para>
        /// <para>Display Name: Administrator</para>
        /// </summary>
        [AttributeLogicalName("administratorid")]
        public EntityReference AdministratorId {
            get {
                return GetAttributeValue<EntityReference>("administratorid");
            }
            set {
                SetAttributeValue("administratorid", value);
            }
        }
         
        /// <summary>
        /// <para>The Azure active directory object Id for a group.</para>
        /// <para>Display Name: Azure AD Object Id for a group</para>
        /// </summary>
        [AttributeLogicalName("azureactivedirectoryobjectid")]
        public Guid? AzureActiveDirectoryObjectId {
            get {
                return GetAttributeValue<Guid?>("azureactivedirectoryobjectid");
            }
            set {
                SetAttributeValue("azureactivedirectoryobjectid", value);
            }
        }
         
        /// <summary>
        /// <para>Unique identifier of the business unit with which the team is associated.</para>
        /// <para>Display Name: Business Unit</para>
        /// </summary>
        [AttributeLogicalName("businessunitid")]
        public EntityReference BusinessUnitId {
            get {
                return GetAttributeValue<EntityReference>("businessunitid");
            }
            set {
                SetAttributeValue("businessunitid", value);
            }
        }
         
        /// <summary>
        /// <para>Unique identifier of the user who created the team.</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 team 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 team.</para>
        /// <para>Display Name: Created By (Delegate)</para>
        /// </summary>
        [AttributeLogicalName("createdonbehalfby")]
        public EntityReference CreatedOnBehalfBy {
            get {
                return GetAttributeValue<EntityReference>("createdonbehalfby");
            }
        }
         
        /// <summary>
        /// <para>Description of the team.</para>
        /// <para>Display Name: Description</para>
        /// </summary>
        [AttributeLogicalName("description")]
        public string Description {
            get {
                return GetAttributeValue<string>("description");
            }
            set {
                SetAttributeValue("description", value);
            }
        }
         
        /// <summary>
        /// <para>Email address for the team.</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 team 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>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>Information about whether the team is a default business unit team.</para>
        /// <para>Display Name: Is Default</para>
        /// </summary>
        [AttributeLogicalName("isdefault")]
        public bool? IsDefault {
            get {
                return GetAttributeValue<bool?>("isdefault");
            }
        }
         
        /// <summary>
        /// <para>Unique identifier of the user who last modified the team.</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 team 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 team.</para>
        /// <para>Display Name: Modified By (Delegate)</para>
        /// </summary>
        [AttributeLogicalName("modifiedonbehalfby")]
        public EntityReference ModifiedOnBehalfBy {
            get {
                return GetAttributeValue<EntityReference>("modifiedonbehalfby");
            }
        }
         
        /// <summary>
        /// <para>Name of the team.</para>
        /// <para>Display Name: Team 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 team.</para>
        /// <para>Display Name: Organization </para>
        /// </summary>
        [AttributeLogicalName("organizationid")]
        public Guid? OrganizationId {
            get {
                return GetAttributeValue<Guid?>("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>Shows the ID of the process.</para>
        /// <para>Display Name: Process</para>
        /// </summary>
        [AttributeLogicalName("processid")]
        public Guid? ProcessId {
            get {
                return GetAttributeValue<Guid?>("processid");
            }
            set {
                SetAttributeValue("processid", value);
            }
        }
         
        /// <summary>
        /// <para>Unique identifier of the default queue for the team.</para>
        /// <para>Display Name: Default Queue</para>
        /// </summary>
        [AttributeLogicalName("queueid")]
        public EntityReference QueueId {
            get {
                return GetAttributeValue<EntityReference>("queueid");
            }
            set {
                SetAttributeValue("queueid", value);
            }
        }
         
        /// <summary>
        /// <para>Choose the record that the team relates to.</para>
        /// <para>Display Name: Regarding Object Id</para>
        /// </summary>
        [AttributeLogicalName("regardingobjectid")]
        public EntityReference RegardingObjectId {
            get {
                return GetAttributeValue<EntityReference>("regardingobjectid");
            }
            set {
                SetAttributeValue("regardingobjectid", value);
            }
        }
         
        /// <summary>
        /// <para>Shows the ID of the stage.</para>
        /// <para>Display Name: (Deprecated) Process Stage</para>
        /// </summary>
        [AttributeLogicalName("stageid")]
        public Guid? StageId {
            get {
                return GetAttributeValue<Guid?>("stageid");
            }
            set {
                SetAttributeValue("stageid", value);
            }
        }
         
        /// <summary>
        /// <para>Select whether the team will be managed by the system.</para>
        /// <para>Display Name: Is System Managed</para>
        /// </summary>
        [AttributeLogicalName("systemmanaged")]
        public bool? SystemManaged {
            get {
                return GetAttributeValue<bool?>("systemmanaged");
            }
        }
         
        /// <summary>
        /// <para>Shows the team template that is associated with the team.</para>
        /// <para>Display Name: Team Template Identifier</para>
        /// </summary>
        [AttributeLogicalName("teamtemplateid")]
        public EntityReference TeamTemplateId {
            get {
                return GetAttributeValue<EntityReference>("teamtemplateid");
            }
            set {
                SetAttributeValue("teamtemplateid", value);
            }
        }
         
        /// <summary>
        /// <para>Select the team type.</para>
        /// <para>Display Name: Team Type</para>
        /// </summary>
        [AttributeLogicalName("teamtype")]
        public Team_TeamType? TeamType {
            get {
                return GetOptionSetValue<Team_TeamType>("teamtype");
            }
            set {
                SetOptionSetValue("teamtype", value);
            }
        }
         
        /// <summary>
        /// <para>Unique identifier of the currency associated with the team.</para>
        /// <para>Display Name: Currency</para>
        /// </summary>
        [AttributeLogicalName("transactioncurrencyid")]
        public EntityReference TransactionCurrencyId {
            get {
                return GetAttributeValue<EntityReference>("transactioncurrencyid");
            }
            set {
                SetAttributeValue("transactioncurrencyid", value);
            }
        }
         
        /// <summary>
        /// <para>For internal use only.</para>
        /// <para>Display Name: (Deprecated) Traversed Path</para>
        /// </summary>
        [AttributeLogicalName("traversedpath")]
        public string TraversedPath {
            get {
                return GetAttributeValue<string>("traversedpath");
            }
            set {
                SetAttributeValue("traversedpath", value);
            }
        }
         
        /// <summary>
        /// <para>Version number of the team.</para>
        /// <para>Display Name: Version number</para>
        /// </summary>
        [AttributeLogicalName("versionnumber")]
        public long? VersionNumber {
            get {
                return GetAttributeValue<long?>("versionnumber");
            }
        }
         
        /// <summary>
        /// <para>Pronunciation of the full name of the team, written in phonetic hiragana or katakana characters.</para>
        /// <para>Display Name: Yomi Name</para>
        /// </summary>
        [AttributeLogicalName("yominame")]
        public string YomiName {
            get {
                return GetAttributeValue<string>("yominame");
            }
            set {
                SetAttributeValue("yominame", value);
            }
        }
         
        [AttributeLogicalName("businessunitid")]
        [RelationshipSchemaName("business_unit_teams")]
        public BusinessUnit business_unit_teams {
            get {
                return GetRelatedEntity<BusinessUnit>("business_unit_teams", null);
            }
            set {
                SetRelatedEntity("business_unit_teams", null, value);
            }
        }
         
        [AttributeLogicalName("createdonbehalfby")]
        [RelationshipSchemaName("lk_team_createdonbehalfby")]
        public SystemUser lk_team_createdonbehalfby {
            get {
                return GetRelatedEntity<SystemUser>("lk_team_createdonbehalfby", null);
            }
            set {
                SetRelatedEntity("lk_team_createdonbehalfby", null, value);
            }
        }
         
        [AttributeLogicalName("modifiedonbehalfby")]
        [RelationshipSchemaName("lk_team_modifiedonbehalfby")]
        public SystemUser lk_team_modifiedonbehalfby {
            get {
                return GetRelatedEntity<SystemUser>("lk_team_modifiedonbehalfby", null);
            }
            set {
                SetRelatedEntity("lk_team_modifiedonbehalfby", null, value);
            }
        }
         
        [AttributeLogicalName("administratorid")]
        [RelationshipSchemaName("lk_teambase_administratorid")]
        public SystemUser lk_teambase_administratorid {
            get {
                return GetRelatedEntity<SystemUser>("lk_teambase_administratorid", null);
            }
            set {
                SetRelatedEntity("lk_teambase_administratorid", null, value);
            }
        }
         
        [AttributeLogicalName("createdby")]
        [RelationshipSchemaName("lk_teambase_createdby")]
        public SystemUser lk_teambase_createdby {
            get {
                return GetRelatedEntity<SystemUser>("lk_teambase_createdby", null);
            }
            set {
                SetRelatedEntity("lk_teambase_createdby", null, value);
            }
        }
         
        [AttributeLogicalName("modifiedby")]
        [RelationshipSchemaName("lk_teambase_modifiedby")]
        public SystemUser lk_teambase_modifiedby {
            get {
                return GetRelatedEntity<SystemUser>("lk_teambase_modifiedby", null);
            }
            set {
                SetRelatedEntity("lk_teambase_modifiedby", null, value);
            }
        }
         
        [RelationshipSchemaName("teammembership_association")]
        public IEnumerable<SystemUser> teammembership_association {
            get {
                return GetRelatedEntities<SystemUser>("teammembership_association", null);
            }
            set {
                SetRelatedEntities("teammembership_association", null, value);
            }
        }
         
        public static Team Retrieve(IOrganizationService service, Guid id, params Expression<Func<Team,object>>[] attrs) {
            return service.Retrieve(id, attrs);
        }
    }
     
    [DataContract()]
    public enum Team_TeamType {
         
        [EnumMember()]
        Owner = 0,
         
        [EnumMember()]
        Access = 1,
         
        [EnumMember()]
        AADSecurityGroup = 2,
         
        [EnumMember()]
        AADOfficeGroup = 3,
    }
}