Show / Hide Table of Contents

Class MailItemProvider

Provides populated mail envelope rows as an archive

Inheritance
Object
MailItemProvider
Implements
IArchiveProvider
IArchiveProviderHasRows
IArchiveProviderHasColumns
IArchiveProviderHasEntities
Inherited Members
Object.ToString()
Object.Equals(Object)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
[ArchiveProvider("Mail", 1073741823)]
public class MailItemProvider : IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities, IPlugin

Constructors

MailItemProvider()

Constructor

Declaration
public MailItemProvider()

Fields

_colArchived

Declaration
protected ArchiveColumnInfo _colArchived
Field Value
Type Description
ArchiveColumnInfo

_colAttachment

Declaration
protected ArchiveColumnInfo _colAttachment
Field Value
Type Description
ArchiveColumnInfo

_colCompany

Declaration
protected ArchiveColumnInfo _colCompany
Field Value
Type Description
ArchiveColumnInfo

_colFrom

Declaration
protected ArchiveColumnInfo _colFrom
Field Value
Type Description
ArchiveColumnInfo

_colId

Declaration
protected ArchiveColumnInfo _colId
Field Value
Type Description
ArchiveColumnInfo

_colPerson

Declaration
protected ArchiveColumnInfo _colPerson
Field Value
Type Description
ArchiveColumnInfo

_colPriority

Declaration
protected ArchiveColumnInfo _colPriority
Field Value
Type Description
ArchiveColumnInfo

_colSent

Declaration
protected ArchiveColumnInfo _colSent
Field Value
Type Description
ArchiveColumnInfo

_colSize

Declaration
protected ArchiveColumnInfo _colSize
Field Value
Type Description
ArchiveColumnInfo

_colStatus

Declaration
protected ArchiveColumnInfo _colStatus
Field Value
Type Description
ArchiveColumnInfo

_colSubject

Declaration
protected ArchiveColumnInfo _colSubject
Field Value
Type Description
ArchiveColumnInfo

_colTo

Declaration
protected ArchiveColumnInfo _colTo
Field Value
Type Description
ArchiveColumnInfo

Properties

FavorPartialEnvelopes

Should we try to fetch partial envelopes when possible Saves some bandwidth, but subclasses may need more info

Declaration
protected virtual bool FavorPartialEnvelopes { get; }
Property Value
Type Description
Boolean

IsInitialized

Declaration
public bool IsInitialized { get; }
Property Value
Type Description
Boolean

Methods

Close()

Declaration
public void Close()

GetAvailableColumns()

Get a list of available columns for this provider

Declaration
public List<ArchiveColumnInfo> GetAvailableColumns()
Returns
Type Description
List<ArchiveColumnInfo>

GetAvailableEntities()

Get available entities for this provider

Declaration
public List<ArchiveRowTypeInfo> GetAvailableEntities()
Returns
Type Description
List<ArchiveRowTypeInfo>

GetReader(String)

Start the provider, returning an IDataReader compatible object to the client for row enumeration and data access

Declaration
public virtual IDataReader GetReader(string options)
Parameters
Type Name Description
String options

Options, passed to the internal GetRows method

Returns
Type Description
IDataReader

IDataReader primed to provide results

GetResultInformation()

Declaration
public ArchiveResultInformation GetResultInformation()
Returns
Type Description
ArchiveResultInformation

GetRows(String)

Iterator over all rows in the archive, suitable for a foreach access. It is typically implemented using the yield keyword.

Declaration
public IEnumerable<ArchiveRow> GetRows(string options)
Parameters
Type Name Description
String options
Returns
Type Description
IEnumerable<ArchiveRow>

IsEnvelopeWanted(MailEnvelope, Boolean, Boolean, Boolean)

Do the user want to see this envelope

Declaration
protected virtual bool IsEnvelopeWanted(MailEnvelope env, bool toContactsWanted, bool toAssociatesWanted, bool toOthersWanted)
Parameters
Type Name Description
SuperOffice.CRM.Mail.MailEnvelope env

Envelope to check

Boolean toContactsWanted

Do the user want to see mail from so contacts

Boolean toAssociatesWanted

Do the user want to see mail from associates

Boolean toOthersWanted

Do the user want to see unrecognized mails

Returns
Type Description
Boolean

True if envelope should be displayed

MapColumnToDbId(String)

Map a named column (usually a restriction column) to a database field id.

Declaration
public int MapColumnToDbId(string columnName)
Parameters
Type Name Description
String columnName

Name of column to map

Returns
Type Description
Int32

Database field id if available, otherwise 0

Remarks

In some cases we may need to map a column of an archive list provider to a unique database field. This is mostly required in order to fetch and store search criteria, both for Dynamic Selections and for other kinds of searches. Columns that are not mappable through this interface cannot be saved and restored, and are therefore not available as criteria for search functions (dynamic selection)

MapDbIdToColumn(Int32)

Map an integer database field id to a qualified column name

Declaration
public string MapDbIdToColumn(int columnId)
Parameters
Type Name Description
Int32 columnId

Field id of column to map

Returns
Type Description
String

Name of column that matches the given field id, or a blank string if there is no match

SetDesiredColumns(String[])

Declaration
public void SetDesiredColumns(params string[] columnIds)
Parameters
Type Name Description
String[] columnIds

SetDesiredEntities(String[])

Declaration
public void SetDesiredEntities(params string[] entities)
Parameters
Type Name Description
String[] entities

SetOrderBy(ArchiveOrderByInfo[])

Declaration
public void SetOrderBy(params ArchiveOrderByInfo[] orderBy)
Parameters
Type Name Description
ArchiveOrderByInfo[] orderBy

SetPagingInfo(Int32, Int32)

Declaration
public void SetPagingInfo(int pageSize, int pageNumber)
Parameters
Type Name Description
Int32 pageSize
Int32 pageNumber

SetRestriction(ArchiveRestrictionInfo[])

Set restrictions used to fetch desired columns/entities.

Declaration
public virtual bool SetRestriction(params ArchiveRestrictionInfo[] restrictions)
Parameters
Type Name Description
ArchiveRestrictionInfo[] restrictions
Returns
Type Description
Boolean

Implements

IArchiveProvider
IArchiveProviderHasRows
IArchiveProviderHasColumns
IArchiveProviderHasEntities

Extension Methods

EnumUtil.MapEnums<From, To>(From)
ObjectExtensions.AssignByReflection<T>(T, T)
ObjectExtensions.GraphCopy<T>(T)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top