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

# \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity">\</a> Class ProjectEntity

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

Carrier object for ProjectEntity.
The Project Service. The service implements all services working with the Project object

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

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ←
[Carrier](SuperOffice.WebApi.Data.Carrier.md) ←
[ProjectEntity](SuperOffice.WebApi.Data.ProjectEntity.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 ProjectEntity 123 using the WebApi client:
\<pre>\<code class="lang-csharp">var configuration = new WebApiConfiguration(url);
var agent = new ProjectAgent(configuration);
var projectEntity = agent.GetProjectEntity( 123 );\</code>\</pre>

## Remarks

Use \<xref href="SuperOffice.CRM.Services.ArchiveAgent?text=Archive+agent" data-throw-if-not-resolved="false">\</xref>:
All ProjectEntity: \<pre>\<code class="lang-csharp">"FindProject"\</code>\</pre>
Activities: \<pre>\<code class="lang-csharp">"ProjectActivity"\</code>\</pre> with restriction \<pre>\<code class="lang-csharp">"projectId eq " + id\</code>\</pre>.
Guide: \<pre>\<code class="lang-csharp">"ProjectGuide"\</code>\</pre> with restriction \<pre>\<code class="lang-csharp">"projectId eq " + id\</code>\</pre>.
Members: \<pre>\<code class="lang-csharp">"ProjectMember"\</code>\</pre> with restriction \<pre>\<code class="lang-csharp">"projectId eq " + id\</code>\</pre>.
Contacts: \<pre>\<code class="lang-csharp">"ContactProjects"\</code>\</pre> with restriction \<pre>\<code class="lang-csharp">"projectId eq " + id\</code>\</pre>.
Links: \<pre>\<code class="lang-csharp">"Links"\</code>\</pre> with restriction \<pre>\<code class="lang-csharp">"sourceProjectRestrictionId eq " + id\</code>\</pre>.

## Constructors

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

Default constructor - defaults any enum props to 0.

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

## Properties

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_ActiveErpLinks">\</a> ActiveErpLinks

The number of active erp links

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_ActiveLinks">\</a> ActiveLinks

Number of active links to documents, other appointments, and such

```csharp theme={null}
public virtual uint ActiveLinks { get; set; }
```

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_ActiveStatusMonitorId">\</a> ActiveStatusMonitorId

Active status monitor identity with the lowest rank for project

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

#### Property Value

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

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

The person that created the project
\<p>Use MDO List name "associate" to get list items.\</p>

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_Completed">\</a> Completed

Done (0=false, 1=true). Status implies changes in which fields are shown in GUI, as well as which fields can be updated

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_CreatedBy">\</a> CreatedBy

The person that created the project

```csharp theme={null}
public virtual Associate CreatedBy { get; set; }
```

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_CreatedDate">\</a> CreatedDate

Registered date

```csharp theme={null}
public virtual DateTime CreatedDate { get; set; }
```

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_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.ProjectEntity.ExtraFields" data-throw-if-not-resolved="false">\</xref> and \<xref href="SuperOffice.WebApi.Data.ProjectEntity.UserDefinedFields?text=UserDefinedFields" data-throw-if-not-resolved="false">\</xref> 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\_ProjectEntity\_Description">\</a> Description

The actual text, max 2047 significant characters even though it is stored as a larger data type on some databases

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_EndDate">\</a> EndDate

Planned end date for project, inhertied from type and later editable

```csharp theme={null}
public virtual DateTime EndDate { get; set; }
```

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_EventId">\</a> EventId

Reserved field for Lyyti event when project is linked to an event.

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

#### Property Value

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

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

Deprecated: Use \<xref href="SuperOffice.WebApi.Data.ProjectEntity.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\_ProjectEntity\_HasImage">\</a> HasImage

True if the project has an image. (This is the image that is displayed in the CRM client)

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_ImageDescription">\</a> ImageDescription

Description of the project image if it exists. (This is the image that is displayed in the CRM client)

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_IsPublished">\</a> IsPublished

Publication is published

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_Links">\</a> Links

List of all elements linked to the project

```csharp theme={null}
public virtual Link[] Links { get; set; }
```

#### Property Value

[Link](SuperOffice.WebApi.Data.Link.md)\[]

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

Project 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\_ProjectEntity\_NextMilestoneDate">\</a> NextMilestoneDate

Calculated date, reflects date of closest non-complete future milestone activity

```csharp theme={null}
public virtual DateTime NextMilestoneDate { get; set; }
```

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_NmdAppointmentId">\</a> NmdAppointmentId

ID of appointment that "caused" the nextMilestoneDate, can be 0

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_Postit">\</a> Postit

The actual text, max 2047 significant characters even though it is stored as a larger data type on some databases

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_ProjectId">\</a> ProjectId

Primary key

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_ProjectMembers">\</a> ProjectMembers

The persons which are members of the project

```csharp theme={null}
public virtual ProjectMember[] ProjectMembers { get; set; }
```

#### Property Value

[ProjectMember](SuperOffice.WebApi.Data.ProjectMember.md)\[]

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_ProjectNumber">\</a> ProjectNumber

Automatically generated number

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_ProjectStatus">\</a> ProjectStatus

Project status is a list defined by the database administrator. Different statuses of a project may be: “In planning”, “Started”, “Finished” and so on
\<p>Use MDO List name "projectstatus" to get list items.\</p>

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_ProjectType">\</a> ProjectType

Project type is a list defined by the database admin. for example: 'Large', 'Small', 'Party'...
\<p>Use MDO List name "projecttype" to get list items.\</p>

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

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_PublishEventDate">\</a> PublishEventDate

Publish event date

```csharp theme={null}
public virtual DateTime PublishEventDate { get; set; }
```

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_PublishFrom">\</a> PublishFrom

Publication valid from (inclusive)

```csharp theme={null}
public virtual DateTime PublishFrom { get; set; }
```

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_PublishTo">\</a> PublishTo

Publication valid to (inclusive)

```csharp theme={null}
public virtual DateTime PublishTo { get; set; }
```

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_StartDate">\</a> StartDate

Reserved field for Lyyti event when project is linked to an event, is the event start date.

```csharp theme={null}
public virtual DateTime StartDate { get; set; }
```

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_UpdatedBy">\</a> UpdatedBy

The person that last updated the project

```csharp theme={null}
public virtual Associate UpdatedBy { get; set; }
```

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_UpdatedDate">\</a> UpdatedDate

Last updated date

```csharp theme={null}
public virtual DateTime UpdatedDate { get; set; }
```

#### Property Value

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

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_Urls">\</a> Urls

The project's internet adresses

```csharp theme={null}
public virtual EntityElement[] Urls { get; set; }
```

#### Property Value

[EntityElement](SuperOffice.WebApi.Data.EntityElement.md)\[]

### \<a id="SuperOffice\_WebApi\_Data\_ProjectEntity\_UserDefinedFields">\</a> UserDefinedFields

Deprecated: Use \<xref href="SuperOffice.WebApi.Data.ProjectEntity.CustomFields" data-throw-if-not-resolved="false">\</xref> instead.
Dictionary of user defined field data.
The key string is the ProgId of the UdefField, or if the ProgId is empty it is a string of the format "SuperOffice:\[UdefFieldIdentity]", e.g. "SuperOffice:1234"
The value string is the encoded value: "\[I:123]" or "\[DT:2019-09-11]".

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

#### Property Value

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

## See Also

[ProjectAgent](SuperOffice.WebApi.Agents.ProjectAgent.md),
[ArchiveAgent](SuperOffice.WebApi.Agents.ArchiveAgent.md),


## Related topics

- [SuperOffice.WebApi.Agents.ProjectAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.ProjectAgent.md)
- [SuperOffice.WebApi.Agents.IProjectAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.IProjectAgent.md)
- [SuperOffice.WebApi.Data.Project ValidateProjectEntityRequest](/en/api/reference/webapi/SuperOffice.WebApi.Data.Project_ValidateProjectEntityRequest.md)
- [SuperOffice.WebApi.Data.Project SaveProjectEntityWithoutMembersRequest](/en/api/reference/webapi/SuperOffice.WebApi.Data.Project_SaveProjectEntityWithoutMembersRequest.md)
- [Validate Project Entity](/en/api/reference/restful/agent/project_agent/validate-project-entity.md)
- [Delete Project Entity](/en/api/reference/restful/rest/project/delete-project-entity.md)
