> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superoffice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SuperOffice.WebApi.Data.Associate

<h1 id="SuperOffice_WebApi_Data_Associate">
  Class Associate
</h1>

Namespace: [SuperOffice.WebApi.Data](SuperOffice.WebApi.Data.md)\
Assembly: SuperOffice.WebApi.dll

Carrier object for Associate.

```csharp theme={null}
public class Associate : Carrier
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ←
[Carrier](SuperOffice.WebApi.Data.Carrier.md) ←
[Associate](SuperOffice.WebApi.Data.Associate.md)

#### Inherited Members

[Carrier.TableRight](SuperOffice.WebApi.Data.Carrier.md#SuperOffice_WebApi_Data_Carrier_TableRight),
[Carrier.FieldProperties](SuperOffice.WebApi.Data.Carrier.md#SuperOffice_WebApi_Data_Carrier_FieldProperties),
[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring),
[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)),
[object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)),
[object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals),
[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode),
[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype),
[object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone)

## Examples

Get Associate 123 using the WebApi client:
\<pre>\<code class="lang-csharp">var configuration = new WebApiConfiguration(url);
var agent = new AssociateAgent(configuration);
var associate = agent.GetAssociate( 123 );\</code>\</pre>

## Constructors

<h3 id="SuperOffice_WebApi_Data_Associate__ctor">
  Associate()
</h3>

Default constructor - defaults any enum props to 0.

```csharp theme={null}
public Associate()
```

## Properties

<h3 id="SuperOffice_WebApi_Data_Associate_AssociateId">
  AssociateId
</h3>

Primary key

```csharp theme={null}
public virtual int AssociateId { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

<h3 id="SuperOffice_WebApi_Data_Associate_CustomFields">
  CustomFields
</h3>

Udef + Extra fields added to the carrier. Extra fields as defined by changes to database schema + user-defined fields as defined by admin.
Custom fields combines user defined fields and extra fields into one bucket.
The individual \<xref href="SuperOffice.WebApi.Data.Associate.ExtraFields" data-throw-if-not-resolved="false">\</xref> and UserDefinedFields properties are deprecated in favor of this
combined collection.
The value string is the encoded value: "\[I:123]" or "\[DT:2019-09-11]".

```csharp theme={null}
public virtual StringDictionary CustomFields { get; set; }
```

#### Property Value

[StringDictionary](SuperOffice.WebApi.Data.StringDictionary.md)

#### Remarks

The naming convention of the key string is as follows:
\<table>\<tbody>\<tr>\<td class="term">Extra field data\</td>\<td class="description">
\[Extra field name]\<p>\</p>
Example: \<pre>\<code class="lang-csharp">'x\_gorp' = '\[I:123]'\</code>\</pre>
\</td>\</tr>\<tr>\<td class="term">User defined field data\</td>\<td class="description">
\[Prog-id name]\<p>\</p>
Example: \<pre>\<code class="lang-csharp">'SuperOffice:1' = '\[I:123]'\</code>\</pre>\<p>\</p>
\</td>\</tr>\</tbody>\</table>

<h3 id="SuperOffice_WebApi_Data_Associate_Deleted">
  Deleted
</h3>

If true, the user is retired and should have no rights, not appear in lists, etc.

```csharp theme={null}
public virtual bool Deleted { get; set; }
```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

<h3 id="SuperOffice_WebApi_Data_Associate_EjUserId">
  EjUserId
</h3>

ID of the ej user record corresponding to this associate; 0 for associates that are not ej users

```csharp theme={null}
public virtual int EjUserId { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

<h3 id="SuperOffice_WebApi_Data_Associate_ExtraFields">
  ExtraFields
</h3>

Deprecated: Use \<xref href="SuperOffice.WebApi.Data.Associate.CustomFields" data-throw-if-not-resolved="false">\</xref> instead.
Extra fields added to the carrier. This could be data from Plug-ins, the foreign key system, external applications, etc.
The value string is the encoded value: "\[I:123]" or "\[DT:2019-09-11]".

```csharp theme={null}
public virtual StringDictionary ExtraFields { get; set; }
```

#### Property Value

[StringDictionary](SuperOffice.WebApi.Data.StringDictionary.md)

#### Remarks

The naming convention of the key string is as follows:
\<table>\<tbody>\<tr>\<td class="term">Plug-in data\</td>\<td class="description">
\[Plug-in name].\[Property name]
Example: DocumentPlugin.DocumentType
\</td>\</tr>\<tr>\<td class="term">Foreign key data\</td>\<td class="description">
The device identity is appended directly to the device name if it exists.
This is not commonly used, but the database opens for this as a possibility to have several devices with the same name,
and hence we would ensure an unique key if this field is used.
Example: Audience.SecretService.DefaultCountry
\</td>\</tr>\<tr>\<td class="term">User defined table data\</td>\<td class="description">
\[Table name].\[Field name]
Example: Phunneling.AggregatedSales
\</td>\</tr>\<tr>\<td class="term">Other\</td>\<td class="description">
Other data sources must ensure an unique name. If the key already exists we do not add the data to the dictionary.
We also ensure that SuperOffice data are added first, so that existing data doesnt change when more data sources are added (with duplicate data keys).
\</td>\</tr>\</tbody>\</table>

<h3 id="SuperOffice_WebApi_Data_Associate_FormalName">
  FormalName
</h3>

The associate's culture formatted formalname (firstname, middleName and lastname, title, mrmrs)

```csharp theme={null}
public virtual string FormalName { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

<h3 id="SuperOffice_WebApi_Data_Associate_FullName">
  FullName
</h3>

The associate's culture formatted fullname (firstname, middleName and lastname)

```csharp theme={null}
public virtual string FullName { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

<h3 id="SuperOffice_WebApi_Data_Associate_GroupIdx">
  GroupIdx
</h3>

Primary group membership, see UserGroupLink for secondary memberships

```csharp theme={null}
public virtual int GroupIdx { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

<h3 id="SuperOffice_WebApi_Data_Associate_Name">
  Name
</h3>

Initials, also login name, possibly database user name

```csharp theme={null}
public virtual string Name { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

<h3 id="SuperOffice_WebApi_Data_Associate_PersonId">
  PersonId
</h3>

Owning person record
\<p>Use MDO List name "person" to get list items.\</p>

```csharp theme={null}
public virtual int PersonId { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

<h3 id="SuperOffice_WebApi_Data_Associate_Rank">
  Rank
</h3>

Rank order

```csharp theme={null}
public virtual short Rank { get; set; }
```

#### Property Value

[short](https://learn.microsoft.com/dotnet/api/system.int16)

<h3 id="SuperOffice_WebApi_Data_Associate_Tooltip">
  Tooltip
</h3>

Tooltip or other description

```csharp theme={null}
public virtual string Tooltip { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

<h3 id="SuperOffice_WebApi_Data_Associate_Type">
  Type
</h3>

User type - 1 = internal user, 2 = resource, 3 = external user, 4 = anonymous, 5 = system
NULL if unknown enum value.

```csharp theme={null}
[JsonIgnore]
public UserType? Type { get; set; }
```

#### Property Value

[UserType](SuperOffice.WebApi.Data.UserType.md)?

#### See Also

[Associate](SuperOffice.WebApi.Data.Associate.md).[Type\_String](SuperOffice.WebApi.Data.Associate.md#SuperOffice_WebApi_Data_Associate_Type_String)

<h3 id="SuperOffice_WebApi_Data_Associate_Type_String">
  Type\_String
</h3>

User type - 1 = internal user, 2 = resource, 3 = external user, 4 = anonymous, 5 = system
Raw string enum value.

```csharp theme={null}
[JsonProperty("Type")]
public string Type_String { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

#### See Also

[Associate](SuperOffice.WebApi.Data.Associate.md).[Type](SuperOffice.WebApi.Data.Associate.md#SuperOffice_WebApi_Data_Associate_Type)

<h3 id="SuperOffice_WebApi_Data_Associate_UserName">
  UserName
</h3>

User name

```csharp theme={null}
public virtual string UserName { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

## See Also

[AssociateAgent](SuperOffice.WebApi.Agents.AssociateAgent.md)


## Related topics

- [SuperOffice.WebApi.Data.Associate GetAssociatesByGroupRequest](/en/api/reference/webapi/SuperOffice.WebApi.Data.Associate_GetAssociatesByGroupRequest.md)
- [SuperOffice.WebApi.Data.Associate GetAssociateByPersonIdRequest](/en/api/reference/webapi/SuperOffice.WebApi.Data.Associate_GetAssociateByPersonIdRequest.md)
- [SuperOffice.WebApi.Data.AssociateSourceType](/en/api/reference/webapi/SuperOffice.WebApi.Data.AssociateSourceType.md)
- [SuperOffice.WebApi.Data.DocumentMigrationAssociate](/en/api/reference/webapi/SuperOffice.WebApi.Data.DocumentMigrationAssociate.md)
- [SuperOffice.WebApi.Data.Associate GetNoteRequest](/en/api/reference/webapi/SuperOffice.WebApi.Data.Associate_GetNoteRequest.md)
- [SuperOffice.WebApi.Data.Associate SaveNoteRequest](/en/api/reference/webapi/SuperOffice.WebApi.Data.Associate_SaveNoteRequest.md)
