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: SuperOfficeCRMLists
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()
Fields
ProviderName
"emailaddress"
Declaration
public const string ProviderName = "emailaddress"
Field Value
| Type | Description |
|---|---|
| string |
_contactTable
Declaration
protected ContactTableInfo _contactTable
Field Value
| Type | Description |
|---|---|
| ContactTableInfo |
_emailTable
Declaration
protected EmailTableInfo _emailTable
Field Value
| Type | Description |
|---|---|
| EmailTableInfo |
_personTable
Declaration
protected PersonTableInfo _personTable
Field Value
| Type | Description |
|---|---|
| PersonTableInfo |
_searchTerms
Declaration
protected string[] _searchTerms
Field Value
| Type | Description |
|---|---|
| string |
_searchValue
Declaration
protected string _searchValue
Field Value
| Type | Description |
|---|---|
| string |
Properties
TableInfo
The main table info for the query.
Declaration
protected override TableInfo TableInfo { get; }
Property Value
| Type | Description |
|---|---|
| TableInfo |
Overrides
Methods
GetContactEmailQuery()
Declaration
protected Select GetContactEmailQuery()
Returns
| Type | Description |
|---|---|
| Select |
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 |
|---|---|
| TaskSelect | Query for the e-mail and persons (and contacts if _contactTable defined) |
Overrides
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
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 |
|---|---|---|
| ListISoListItem | items | Results - will be re-ordered if there are search terms |
Returns
| Type | Description |
|---|---|
| Task |
Overrides
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
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. |
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
SortItemsByScore(List<ISoListItem>)
Declaration
protected void SortItemsByScore(List<ISoListItem> items)
Parameters
| Type | Name | Description |
|---|---|---|
| ListISoListItem | items |