/// <summary>
 /// Initializes a new instance of the <see cref="User" /> class.
 /// </summary>
 /// <param name="UserId">UserId.</param>
 /// <param name="Email">Email.</param>
 /// <param name="FirstName">FirstName.</param>
 /// <param name="LastName">LastName.</param>
 /// <param name="IsLockedOut">IsLockedOut.</param>
 /// <param name="Status">Status.</param>
 /// <param name="AccessLevel">AccessLevel.</param>
 /// <param name="DefaultOfficeId">DefaultOfficeId.</param>
 /// <param name="TitleId">TitleId.</param>
 /// <param name="RoleId">RoleId.</param>
 /// <param name="ProfileImageUrl">ProfileImageUrl.</param>
 /// <param name="Offices">Offices.</param>
 /// <param name="Regions">Regions.</param>
 /// <param name="Permissions">Permissions.</param>
 public User(int?UserId = default(int?), string Email = default(string), string FirstName = default(string), string LastName = default(string), bool?IsLockedOut = default(bool?), string Status = default(string), AccessLevel?AccessLevel = default(AccessLevel?), int?DefaultOfficeId = default(int?), int?TitleId = default(int?), int?RoleId = default(int?), string ProfileImageUrl = default(string), List <int?> Offices = default(List <int?>), List <int?> Regions = default(List <int?>), ClassicManagerPermissions Permissions = default(ClassicManagerPermissions))
 {
     this.UserId          = UserId;
     this.Email           = Email;
     this.FirstName       = FirstName;
     this.LastName        = LastName;
     this.IsLockedOut     = IsLockedOut;
     this.Status          = Status;
     this.AccessLevel     = AccessLevel;
     this.DefaultOfficeId = DefaultOfficeId;
     this.TitleId         = TitleId;
     this.RoleId          = RoleId;
     this.ProfileImageUrl = ProfileImageUrl;
     this.Offices         = Offices;
     this.Regions         = Regions;
     this.Permissions     = Permissions;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ClassicManagerToInvite" /> class.
 /// </summary>
 /// <param name="FirstName">FirstName (required).</param>
 /// <param name="LastName">LastName (required).</param>
 /// <param name="Email">Email (required).</param>
 /// <param name="DefaultOfficeId">DefaultOfficeId (required).</param>
 /// <param name="TitleId">TitleId (required).</param>
 /// <param name="AccessLevel">AccessLevel (required).</param>
 /// <param name="Permissions">Permissions (required).</param>
 /// <param name="Offices">Offices.</param>
 /// <param name="Regions">Regions.</param>
 /// <param name="ESignPermissionProfileId">Required when the company is tightly bound to an eSign account; otherwise ignored..</param>
 public ClassicManagerToInvite(string FirstName = default(string), string LastName = default(string), string Email = default(string), int?DefaultOfficeId = default(int?), int?TitleId = default(int?), AccessLevel?AccessLevel = default(AccessLevel?), ClassicManagerPermissions Permissions = default(ClassicManagerPermissions), List <int?> Offices = default(List <int?>), List <int?> Regions = default(List <int?>), string ESignPermissionProfileId = default(string))
 {
     // to ensure "FirstName" is required (not null)
     if (FirstName == null)
     {
         throw new InvalidDataException("FirstName is a required property for ClassicManagerToInvite and cannot be null");
     }
     else
     {
         this.FirstName = FirstName;
     }
     // to ensure "LastName" is required (not null)
     if (LastName == null)
     {
         throw new InvalidDataException("LastName is a required property for ClassicManagerToInvite and cannot be null");
     }
     else
     {
         this.LastName = LastName;
     }
     // to ensure "Email" is required (not null)
     if (Email == null)
     {
         throw new InvalidDataException("Email is a required property for ClassicManagerToInvite and cannot be null");
     }
     else
     {
         this.Email = Email;
     }
     // to ensure "DefaultOfficeId" is required (not null)
     if (DefaultOfficeId == null)
     {
         throw new InvalidDataException("DefaultOfficeId is a required property for ClassicManagerToInvite and cannot be null");
     }
     else
     {
         this.DefaultOfficeId = DefaultOfficeId;
     }
     // to ensure "TitleId" is required (not null)
     if (TitleId == null)
     {
         throw new InvalidDataException("TitleId is a required property for ClassicManagerToInvite and cannot be null");
     }
     else
     {
         this.TitleId = TitleId;
     }
     // to ensure "AccessLevel" is required (not null)
     if (AccessLevel == null)
     {
         throw new InvalidDataException("AccessLevel is a required property for ClassicManagerToInvite and cannot be null");
     }
     else
     {
         this.AccessLevel = AccessLevel;
     }
     // to ensure "Permissions" is required (not null)
     if (Permissions == null)
     {
         throw new InvalidDataException("Permissions is a required property for ClassicManagerToInvite and cannot be null");
     }
     else
     {
         this.Permissions = Permissions;
     }
     this.Offices = Offices;
     this.Regions = Regions;
     this.ESignPermissionProfileId = ESignPermissionProfileId;
 }