> ## 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

# \<a id="SuperOffice\_WebApi\_Data\_Associate">\</a> Class Associate

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

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_\_ctor">\</a> Associate()

Default constructor - defaults any enum props to 0.

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

## Properties

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_AssociateId">\</a> AssociateId

Primary key

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_CustomFields">\</a> CustomFields

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>

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_Deleted">\</a> Deleted

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)

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_EjUserId">\</a> EjUserId

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)

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_ExtraFields">\</a> ExtraFields

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>

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_FormalName">\</a> FormalName

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)

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_FullName">\</a> FullName

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)

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_GroupIdx">\</a> GroupIdx

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)

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_Name">\</a> Name

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)

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_PersonId">\</a> PersonId

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)

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_Rank">\</a> Rank

Rank order

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_Tooltip">\</a> Tooltip

Tooltip or other description

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_Type">\</a> Type

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)

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_Type\_String">\</a> Type\_String

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)

### \<a id="SuperOffice\_WebApi\_Data\_Associate\_UserName">\</a> UserName

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)
