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: 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
AnyTableListProviderBase.TableInfo

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
AnyTableListProviderBase.GetMainQueryAsync(CancellationToken)

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)

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
AnyTableListProviderBase.OnPostGetRootItemsAsync(List<ISoListItem>)

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)

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
AnyTableListProviderBase.SetSearchRestrictionAsync(Select, string)

SortItemsByScore(List<ISoListItem>)

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

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