Class MapiTask
Represent a task that the user wants to accomplish.
Inheritance
Inherited Members
Namespace: DRIT.Mail.Mapi
Assembly: DRIT.Mail.dll
Syntax
public class MapiTask : MapiMessage
Remarks
The properties of a Task object specify the due date, assignment status, and anticipated work effort, among other things. A Task object is created in the Tasks folder of a message store. Once a Task object is created, the task can be assigned. Task assignments are made, confirmed, and updated through the use of task communications, which include task requests, task acceptances, task rejections, and task updates. The Task-Related Objects Protocol also allows a series of tasks to be generated from a single Task object with a recurrence pattern.
Reference: MS-OXOTASK 1.3 Overview
Constructors
View SourceMapiTask()
Initializes a new instance of the MapiTask class.
Declaration
public MapiTask()
Remarks
The properties of a Task object specify the due date, assignment status, and anticipated work effort, among other things. A Task object is created in the Tasks folder of a message store. Once a Task object is created, the task can be assigned. Task assignments are made, confirmed, and updated through the use of task communications, which include task requests, task acceptances, task rejections, and task updates. The Task-Related Objects Protocol also allows a series of tasks to be generated from a single Task object with a recurrence pattern.
Reference: MS-OXOTASK 1.3 Overview
Fields
View SourceMessageClassName
Stores the message class name value used by this type.
Declaration
public const string MessageClassName = "IPM.Task"
Field Value
| Type | Description |
|---|---|
| string |
Remarks
The properties of a Task object specify the due date, assignment status, and anticipated work effort, among other things. A Task object is created in the Tasks folder of a message store. Once a Task object is created, the task can be assigned. Task assignments are made, confirmed, and updated through the use of task communications, which include task requests, task acceptances, task rejections, and task updates. The Task-Related Objects Protocol also allows a series of tasks to be generated from a single Task object with a recurrence pattern.
Reference: MS-OXOTASK 1.3 Overview
Properties
View SourceCommonEnd
Gets or sets the UTC equivalent of the TaskDueDate property.
Declaration
public override DateTime? CommonEnd { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
Overrides
Remarks
Reference: MS-OXOTASK 2.2.2.1.4 PidLidCommonEnd Property
CommonStart
Gets or sets the Coordinated Universal Time (UTC) equivalent of the TaskStartDate property.
Declaration
public override DateTime? CommonStart { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
Overrides
Remarks
Reference: MS-OXOTASK 2.2.2.1.3 PidLidCommonStart Property
IconIndex
Gets or sets which icon is to be used by a user interface to represent the Task object. If this property exists, its value is a hint to the client's user interface.
Declaration
public int? IconIndex { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The user interface can ignore the value and use another method of determining which icon to display to the user.
The value is one of the following.
| Value | Meaning |
|---|---|
| 0x00000501 | The Task object has not been assigned and is a recurring task. |
| 0x00000502 | The Task object is the task assignee's copy of the Task object. |
| 0x00000503 | The Task object is the task assigner's copy of the Task object. |
| 0x00000500 | None of the other conditions apply. |
Reference: MS-OXOTASK 2.2.2.1.5 PidTagIconIndex Property
MessageClass
Gets or sets the type of the Message object.
Declaration
public override string MessageClass { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Overrides
Remarks
The value MUST be "IPM.Task" or begin with "IPM.Task.". The string is caseinsensitive.
Reference: MS-OXOTASK 2.2.2.1.1 PidTagMessageClass Property
PercentComplete
Gets or sets a value that indicates the progress the user has made on a task.
Declaration
public double? PercentComplete { get; set; }
Property Value
| Type | Description |
|---|---|
| double? |
Remarks
The value MUST be a number greater than or equal to 0.0 and less than or equal to 1.0, where 1.0 indicates that work is completed and 0.0 indicates that work has not begun.
Reference: MS-OXOTASK 2.2.2.2.3 PidLidPercentComplete Property
TaskAcceptanceState
Gets or sets a value that indicates the acceptance state of the task.
Declaration
public int? TaskAcceptanceState { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
| Value | Meaning |
|---|---|
| 0x00000000 | The Task object is not assigned. |
| 0x00000001 | The Task object's acceptance status is unknown. |
| 0x00000002 | The task assignee has accepted the Task object. This value is set when the client processes a task acceptance. |
| 0x00000003 | The task assignee has rejected the Task object. This value is set when the client processes a task rejection. |
Reference: MS-OXOTASK 2.2.2.2.30 PidLidTaskAcceptanceState Property
TaskAccepted
Gets or sets a value that indicates whether a task assignee has replied to a task request for this Task object.
Declaration
public bool? TaskAccepted { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
The client sets this property to false for a new Task object and to true when a Task object is either accepted or rejected. If left unset, a value of false is assumed.
Reference: MS-OXOTASK 2.2.2.2.7 PidLidTaskAccepted Property
TaskActualEffort
Gets or sets the number of minutes that the user actually spent working on a task.
Declaration
public int? TaskActualEffort { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The value MUST be greater than or equal to zero and less than 0x5AE980DF (1,525,252,319), where 480 minutes equal one day and 2400 minutes equal one week (8 hours in a work day and 5 work days in a work week).
Reference: MS-OXOTASK 2.2.2.2.11 PidLidTaskActualEffort Property
TaskAssigner
Gets or sets the name of the user that last assigned the task. If the task has not been assigned, this property is left unset.
Declaration
public string TaskAssigner { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Because this property is set by the client after the task assignee receives a task request, the property will not be set on the task assigner's copy of the Task object. When the client adds or removes a task assigner from the stack of task assigners listed in the TaskAssigners property, this property is set to the added or removed task assigner.
Reference: MS-OXOTASK 2.2.2.2.24 PidLidTaskAssigner Property
TaskAssigners
Gets or sets a stack of entries, each representing a task assigner. The most recent task assigner (that is, the top of the stack) appears at the end.
Declaration
public byte[] TaskAssigners { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
Reference: MS-OXOTASK 2.2.2.2.16 PidLidTaskAssigners Property
TaskComplete
Gets or sets a value indicates whether the task has been completed.
Declaration
public bool? TaskComplete { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
The client sets this property to nonzero (TRUE) when the task has been completed; otherwise, this property is set to zero (FALSE).
Reference: MS-OXOTASK 2.2.2.2.20 PidLidTaskComplete Property
TaskCustomFlags
Not used.
Declaration
public int? TaskCustomFlags { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The client can set this property, but it has no impact on the Task-Related Objects Protocol and is ignored by the server.
Reference: MS-OXOTASK 2.2.2.2.33 PidLidTaskCustomFlags Property
TaskDateCompleted
Gets or sets the date when the user completed work on the task.
Declaration
public DateTime? TaskDateCompleted { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
Remarks
This property can be left unset; if set, this property MUST have a time component of 12:00 midnight in the local time zone, converted to UTC.
Reference: MS-OXOTASK 2.2.2.2.9 PidLidTaskDateCompleted Property
TaskDeadOccurrence
Gets or sets a value that indicates whether a new recurring task remains to be generated.
Declaration
public bool? TaskDeadOccurrence { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
The client sets this property to false on a new Task object. The client sets this property to true when it generates the last recurring task.
Reference: MS-OXOTASK 2.2.2.2.8 PidLidTaskDeadOccurrence Property
TaskDueDate
Gets or sets the date by which the user expects work on the task to be complete. The date is in the user's local time zone.
Declaration
public DateTime? TaskDueDate { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
Remarks
The task has no due date if this property is unset or is set to 0x5AE980E0 (1,525,252,320). However, a due date is optional only if no start date is indicated in the TaskStartDate property. If the task has a due date, the value MUST have a time component of 12:00 midnight, and the CommonEnd property MUST also be set. If the TaskStartDate property has a start date, then the value of this property MUST be greater than or equal to the value of the TaskStartDate property.
Reference: MS-OXOTASK 2.2.2.2.5 PidLidTaskDueDate Property
TaskEstimatedEffort
Gets or sets the number of minutes that the user expects to work on a task.
Declaration
public int? TaskEstimatedEffort { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The value MUST be greater than or equal to zero and less than 0x5AE980DF (1,525,252,319), where 480 minutes equal one day and 2400 minutes equal one week (8 hours in a work day and 5 work days in a work week).
Reference: MS-OXOTASK 2.2.2.2.12 PidLidTaskEstimatedEffort Property
TaskFCreator
Gets or sets a value that indicates that the Task object was originally created by the action of the current user or user agent instead of by the processing of a task request.
Declaration
public bool? TaskFCreator { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
The client sets this property to true when the user creates the task and to false when the task was assigned by another user. If this property is left unset, a value of true is assumed.
Reference: MS-OXOTASK 2.2.2.2.21 PidLidTaskFCreator Property
TaskFFixOffline
Gets a value that indicates whether the value of the TaskOwner property is correct.
Declaration
public bool? TaskFFixOffline { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? | The value false indicates that the value of the TaskOwner property is correct. A true indicates that the client cannot determine an accurate value for the TaskOwner property. |
Remarks
Reference: MS-OXOTASK 2.2.2.2.30 PidLidTaskAcceptanceState Property
TaskFRecurring
Gets or sets a value that indicates whether the task includes a recurrence pattern.
Declaration
public bool? TaskFRecurring { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
If this property is unset or is set to false, the task does not include a recurrence pattern. If set to true, the TaskRecurrence and TaskDeadOccurrence properties must also be set.
Reference: MS-OXOTASK 2.2.2.2.28 PidLidTaskFRecurring Property
TaskGlobalId
Gets or sets a unique GUID for this task, used to locate an existing task upon receipt of a task response or task update.
Declaration
public byte[] TaskGlobalId { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
This property must be set for assigned tasks, but it can be left unset for unassigned tasks.
Reference: MS-OXOTASK 2.2.2.2.32 PidLidTaskGlobalId Property
TaskHistory
Gets or sets a value that indicates the type of change that was last made to the Task object.
Declaration
public int? TaskHistory { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
When the value of this property is set, the TaskLastUpdate property must also be set to the current time.
| Value | Meaning |
|---|---|
| 0x00000004 | The TaskDueDate property changed. |
| 0x00000003 | Another property was changed. |
| 0x00000001 | The task assignee accepted this Task object. |
| 0x00000002 | The task assignee rejected this Task object. |
| 0x00000005 | The Task object has been assigned to a task assignee. |
Reference: MS-OXOTASK 2.2.2.2.18 PidLidTaskHistory Property
TaskLastDelegate
Gets or sets the name of the mailbox's delegate who most recently assigned the task.
Declaration
public string TaskLastDelegate { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
This property contains an empty string if there is no delegate. For details about delegates, see [MS-OXODLGT].
Reference: MS-OXOTASK 2.2.2.2.27 PidLidTaskLastDelegate Property
TaskLastUpdate
Gets or sets the date and time of the most recent change made to the Task object.
Declaration
public DateTime? TaskLastUpdate { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
Remarks
The most recent change is specified by the TaskHistory property. The value is in UTC.
Reference: MS-OXOTASK 2.2.2.2.10 PidLidTaskLastUpdate Property
TaskLastUser
Gets or sets the the name of the most recent user to have been the task owner.
Declaration
public string TaskLastUser { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Before a client sends a task request, it sets this property to the name of the task assigner. Before a client sends a task acceptance, it sets this property to the name of the task assignee. Before a client sends a task rejection, it sets this property to the name of the task assigner.
Reference: MS-OXOTASK 2.2.2.2.25 PidLidTaskLastUser Property
TaskMode
Gets or sets a value that has no meaning and is set to zero.
Declaration
public int? TaskMode { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
Reference: MS-OXOTASK 2.2.2.2.1 PidLidTaskMode Property
TaskMultipleRecipients
Gets or sets hints about the recipients of a Task object.
Declaration
public int? TaskMultipleRecipients { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
This property can be left unset; if set, it MUST be set to a bitwise OR of zero or more of the following flags.
| Flag name | Value | Description |
|---|---|---|
| Sent | 0x00001000 | The Task object has multiple primary recipients. |
| Received | 0x00000002 | Although the "Sent" hint was not present, the client detected that the Task object has multiple primary recipients. |
| Reserved | 0x00000004 | This value has no effect. The client may set this flag to indicate that the Task object is a team task. |
Reference: MS-OXOTASK 2.2.2.2.23 PidLidTaskMultipleRecipients Property
TaskNoCompute
Not used.
Declaration
public bool? TaskNoCompute { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
The client can set this property, but it has no impact on the Task-Related Objects Protocol and is ignored by the server.
Reference: MS-OXOTASK 2.2.2.2.35 PidLidTaskNoCompute Property
TaskOrdinal
Gets or sets a number that aids custom sorting of Task objects.
Declaration
public int? TaskOrdinal { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
This property can be left unset; if set, its value must be greater than 0x800186A0 (-2,147,383,648) and less than 0x7FFE7960 (2,147,383,648) and must be unique among Task objects in the same folder. Whenever the client sets this property to a number less than the negative of the current value of the OrdinalMost property of the folder, the client must also update the OrdinalMost property on the folder.
Reference: MS-OXOTASK 2.2.2.2.26 PidLidTaskOrdinal Property
TaskOwner
Gets or sets the name of the task owner.
Declaration
public string TaskOwner { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXOTASK 2.2.2.2.22 PidLidTaskOwner Property
TaskOwnership
Gets or sets a value that indicates the role of the current user relative to the Task object.
Declaration
public int? TaskOwnership { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
| Value | Meaning |
|---|---|
| 0x00000000 | The Task object is not assigned. |
| 0x00000001 | The Task object is the task assigner's copy of the Task object. |
| 0x00000002 | The Task object is the task assignee's copy of the Task object. |
Reference: MS-OXOTASK 2.2.2.2.29 PidLidTaskOwnership Property
TaskRecurrence
Gets or sets a RecurrencePattern structure, that provides information about recurring tasks. Both the DeletedInstanceCount field and the ModifiedInstanceCount field of the RecurrencePattern structure must be set zero.
Declaration
public byte[] TaskRecurrence { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
Reference: MS-OXOTASK 2.2.2.2.15 PidLidTaskRecurrence Property
TaskResetReminder
Gets or sets a value that indicates whether future recurring tasks need reminders, even though the value of the ReminderSet property is false.
Declaration
public bool? TaskResetReminder { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
The TaskResetReminder property is set to true when the task's reminder is dismissed, and is set to false otherwise. If this property is left unset, the value false is assumed.
Reference: MS-OXOTASK 2.2.2.2.6 PidLidTaskResetReminder Property
TaskRole
Not used.
Declaration
public string TaskRole { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
The client can set this property, but it has no impact on the Task-Related Objects Protocol and is ignored by the server.
Reference: MS-OXOTASK 2.2.2.2.34 PidLidTaskRole Property
TaskStartDate
Gets or sets the date on which the user expects work on the task to begin.
Declaration
public DateTime? TaskStartDate { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
Remarks
The date is in the user's local time zone. The task has no start date if this property isunset or is set to 0x5AE980E0 (1,525,252,320). If the task has a start date, the value MUST have a time component of 12:00 midnight, and the TaskDueDate property and the CommonStart property MUST also be set.
Reference: MS-OXOTASK 2.2.2.2.4 PidLidTaskStartDate Property
TaskState
Gets or sets a value that indicates the current assignment state of the Task object.
Declaration
public int? TaskState { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The value is one of the following.
| Value | Meaning |
|---|---|
| 0x00000001 | The Task object is not assigned. |
| 0x00000002 | The Task object is the task assignee's copy of an assigned Task object. |
| 0x00000003 | The Task object is the task assigner's copy of an assigned Task object. |
| 0x00000004 | The Task object is the task assigner's copy of a rejected Task object. |
| 0x00000000 | This Task object was created to correspond to a Task object that was embedded in a task rejection but could not be found locally. |
Reference: MS-OXOTASK 2.2.2.2.14 PidLidTaskState Property
TaskStatus
Gets or sets the status of the user's progress on the task.
Declaration
public int? TaskStatus { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The value is one of the following.
| Value | Meaning |
|---|---|
| 0x00000000 | The user has not started work on the Task object. If the property is set to this value, the value of the PercentComplete property MUST be 0.0. |
| 0x00000001 | The user's work on this Task object is in progress. If the property is set to this value, the value of the PercentComplete property MUST be greater than 0.0 and less than 1.0. |
| 0x00000002 | The user's work on this Task object is complete. If the property is set to this value, the value of the PidLidPercentComplete property MUST be 1.0, the value of the TaskDateCompleted property MUST be the current date, and the value of the TaskComplete property MUST be 0x01. |
| 0x00000003 | The user is waiting on somebody else. |
| 0x00000004 | The user has deferred work on the Task object. |
Reference: MS-OXOTASK 2.2.2.2.2 PidLidTaskStatus Property
TaskStatusOnComplete
Gets a value that indicates whether the task assignee has been requested to send an e-mail status report, which is an e-mail message with "Task Completed" as the subject, when the task assignee completes the assigned task.
Declaration
public bool? TaskStatusOnComplete { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
The client sets this property to true when the task assignee has been requested to send an e-mail status report; otherwise, this property is set to false.
Reference: MS-OXOTASK 2.2.2.2.17 PidLidTaskStatusOnComplete Property
TaskUpdates
Gets or sets a value that indicates whether the task assignee has been requested to send a task update when the assigned Task object changes.
Declaration
public bool? TaskUpdates { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
The client sets this property to true when the task assignee has been requested to send a task update; otherwise, this property is set to false.
Reference: MS-OXOTASK 2.2.2.2.19 PidLidTaskUpdates Property
TaskVersion
Gets or sets which copy is the latest update of a Task object.
Declaration
public int? TaskVersion { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
An update with a lower version than the Task object is ignored. When embedding a Task object in a task communication, the client sets the current version of the embedded Task object on the task communication as well. The initial value of this property is 1. The value is incremented only when the Task object is owned by the user. The Task object is owned by the user when the TaskState property is set to 0x00000001, 0x00000002, or 0x00000004.
Reference: MS-OXOTASK 2.2.2.2.13 PidLidTaskVersion Property
TeamTask
Not used.
Declaration
public bool? TeamTask { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
The client can set this property, but it has no impact on the Task-Related Objects Protocol and is ignored by the server.
Reference: MS-OXOTASK 2.2.2.2.36 PidLidTeamTask Property