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.
Inherited Members
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
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
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
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
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
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
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"