Show / Hide Table of Contents

Class EmailAddressProvider

List of e-mail addresses matching the search value Searches e-mail address, person name, company name.

E-mail address matches: return e-mail addresses + owner name (person or contact name)

Person name matches: return all e-mail addresses for matched persons

Company name matches. return all persons + first e-mail address for matched persons.

Inheritance
object
AnyTableListProviderBase
EmailAddressProvider
Implements
ISoListProvider
ISoList
Inherited Members
AnyTableListProviderBase._historyListSize
AnyTableListProviderBase.ConstructAsync(string, string, int[], bool, string, bool, CancellationToken)
AnyTableListProviderBase.GetHistoryItemsAsync(CancellationToken)
AnyTableListProviderBase.ClearHistoryItems()
AnyTableListProviderBase.GetRootItemsAsync(CancellationToken)
AnyTableListProviderBase.GetHeadingItemsAsync(CancellationToken)
AnyTableListProviderBase.GetHistoryItemsFromDbAsync(CancellationToken)
AnyTableListProviderBase.GetRootItemsAsync()
AnyTableListProviderBase.OnPreGetRootItemsAsync(List<ISoListItem>)
AnyTableListProviderBase.SetHistoryRestriction(Select)
AnyTableListProviderBase.SetHistoryListSizeFromPreference()
AnyTableListProviderBase.ExecuteQueryAsync(Select, List<ISoListItem>, CancellationToken)
AnyTableListProviderBase.ExecuteReaderAsync(SoCommand, CancellationToken)
AnyTableListProviderBase.ListName
AnyTableListProviderBase.AdditionalInfo
AnyTableListProviderBase.HistoryIDs
AnyTableListProviderBase.OnlyReadHistory
AnyTableListProviderBase.ExcludeHistory
AnyTableListProviderBase.SearchValue
AnyTableListProviderBase.ForceFlatList
AnyTableListProviderBase.HistoryInfo
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: SuperOffice.CRM.Lists
Assembly: SoDataBase.BusinessLogic.dll
Syntax
[MDOProviderPlugin("emailaddress")]
[MDOAdditionalInfo("excludeEmailDescription", "false")]
[MDOAdditionalInfo("operator", "Operator used for search. Available values: 'contains', 'startsWith'. Default value is 'contains'.", "contains")]
public class EmailAddressProvider : AnyTableListProviderBase, ISoListProvider, ISoList
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

Constructors

EmailAddressProvider()

Constructor

Declaration
public EmailAddressProvider()
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

Fields

ProviderName

"emailaddress"

Declaration
public const string ProviderName = "emailaddress"
Field Value
Type Description
string
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

_contactTable

List of e-mail addresses matching the search value Searches e-mail address, person name, company name.

E-mail address matches: return e-mail addresses + owner name (person or contact name)

Person name matches: return all e-mail addresses for matched persons

Company name matches. return all persons + first e-mail address for matched persons.

Declaration
protected ContactTableInfo _contactTable
Field Value
Type Description
ContactTableInfo
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

_emailTable

List of e-mail addresses matching the search value Searches e-mail address, person name, company name.

E-mail address matches: return e-mail addresses + owner name (person or contact name)

Person name matches: return all e-mail addresses for matched persons

Company name matches. return all persons + first e-mail address for matched persons.

Declaration
protected EmailTableInfo _emailTable
Field Value
Type Description
EmailTableInfo
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

_personTable

List of e-mail addresses matching the search value Searches e-mail address, person name, company name.

E-mail address matches: return e-mail addresses + owner name (person or contact name)

Person name matches: return all e-mail addresses for matched persons

Company name matches. return all persons + first e-mail address for matched persons.

Declaration
protected PersonTableInfo _personTable
Field Value
Type Description
PersonTableInfo
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

_searchTerms

List of e-mail addresses matching the search value Searches e-mail address, person name, company name.

E-mail address matches: return e-mail addresses + owner name (person or contact name)

Person name matches: return all e-mail addresses for matched persons

Company name matches. return all persons + first e-mail address for matched persons.

Declaration
protected string[] _searchTerms
Field Value
Type Description
string[]
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

_searchValue

List of e-mail addresses matching the search value Searches e-mail address, person name, company name.

E-mail address matches: return e-mail addresses + owner name (person or contact name)

Person name matches: return all e-mail addresses for matched persons

Company name matches. return all persons + first e-mail address for matched persons.

Declaration
protected string _searchValue
Field Value
Type Description
string
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

Properties

TableInfo

The main table info for the query.

Declaration
protected override TableInfo TableInfo { get; }
Property Value
Type Description
TableInfo
Overrides
AnyTableListProviderBase.TableInfo
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

Methods

GetContactEmailQuery()

List of e-mail addresses matching the search value Searches e-mail address, person name, company name.

E-mail address matches: return e-mail addresses + owner name (person or contact name)

Person name matches: return all e-mail addresses for matched persons

Company name matches. return all persons + first e-mail address for matched persons.

Declaration
protected Select GetContactEmailQuery()
Returns
Type Description
Select
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

GetMainQueryAsync(CancellationToken)

Obtain the main query for the e-mail addresses on persons

Declaration
protected override Task<Select> GetMainQueryAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<Select>

Query for the e-mail and persons (and contacts if _contactTable defined)

Overrides
AnyTableListProviderBase.GetMainQueryAsync(CancellationToken)
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

InitAsync(CancellationToken)

Initiate the provider after the ConstructAsync(string, string, int[], bool, string, bool, CancellationToken) method is called.

Declaration
protected override Task InitAsync(CancellationToken cancellationToken)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
AnyTableListProviderBase.InitAsync(CancellationToken)
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

OnPostGetRootItemsAsync(List<ISoListItem>)

Sort the matches into rank order, so that the best matches are listed first, if there are search terms. If no search terms, then we do not modify the list.

Declaration
protected override Task OnPostGetRootItemsAsync(List<ISoListItem> items)
Parameters
Type Name Description
List<ISoListItem> items

Results - will be re-ordered if there are search terms

Returns
Type Description
Task
Overrides
AnyTableListProviderBase.OnPostGetRootItemsAsync(List<ISoListItem>)
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

OnRead(SoDataReader, short)

Raised every time a new row has been read from the database.
The implementation should read tthe results from the reader and populate an object implementing ISoListItem.

Declaration
protected override ISoListItem OnRead(SoDataReader reader, short lastRank)
Parameters
Type Name Description
SoDataReader reader

Reader to reaf from.

short lastRank

Value of the last rank populated.

Returns
Type Description
ISoListItem

Data read from the reader.

Overrides
AnyTableListProviderBase.OnRead(SoDataReader, short)
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

SetContactSearchRestriction(Select)

Search contact + e-mail addresses for matches to the _searchValue

Declaration
protected void SetContactSearchRestriction(Select sql)
Parameters
Type Name Description
Select sql

Query to set the search restriction on.

Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

SetSearchRestrictionAsync(Select, string)

First search person first + last names + e-mail addresses for matches Set the search restriction on the list.

Declaration
protected override Task SetSearchRestrictionAsync(Select sql, string searchValue)
Parameters
Type Name Description
Select sql

Query to set the search restriction on.

string searchValue

The value of the search restriction.

Returns
Type Description
Task
Overrides
AnyTableListProviderBase.SetSearchRestrictionAsync(Select, string)
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

SortItemsByScore(List<ISoListItem>)

List of e-mail addresses matching the search value Searches e-mail address, person name, company name.

E-mail address matches: return e-mail addresses + owner name (person or contact name)

Person name matches: return all e-mail addresses for matched persons

Company name matches. return all persons + first e-mail address for matched persons.

Declaration
protected void SortItemsByScore(List<ISoListItem> items)
Parameters
Type Name Description
List<ISoListItem> items
Remarks

Returns: list item with

Id = e-mail address id

Name = name + e-mail

ExtraInfo = e-mail address

Type = "Person" or "Contact"

Implements

ISoListProvider
ISoList

Extension Methods

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