Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
AccountTokenizer.cs
1using System;
2using System.Threading.Tasks;
7
9{
14 {
15 private string definition = string.Empty;
16
21 {
22 }
23
29 public Grade Supports(Type Type)
30 {
31 if (Type == typeof(Account))
32 return Grade.Ok;
33 else
34 return Grade.NotAtAll;
35 }
36
42 public async Task Tokenize(object Value, TokenizationProcess Process)
43 {
44 if (Value is Account Account)
45 await Tokenize(Account, Process);
46 }
47
53 public static Task Tokenize(Account Account, TokenizationProcess Process)
54 {
55 if (!(Account is null))
56 {
58 Process.DocumentIndexOffset++;
60 Process.DocumentIndexOffset++;
62 Process.DocumentIndexOffset++;
64 Process.DocumentIndexOffset++;
66 Process.DocumentIndexOffset++;
68 Process.DocumentIndexOffset++;
70 Process.DocumentIndexOffset++;
72 Process.DocumentIndexOffset++;
74 Process.DocumentIndexOffset++;
76 Process.DocumentIndexOffset++;
78 Process.DocumentIndexOffset++;
80 Process.DocumentIndexOffset++;
82 Process.DocumentIndexOffset++;
83 }
84
85 return Task.CompletedTask;
86 }
87
92 public Task Prepare(string Definition)
93 {
94 this.definition = Definition;
95 return Task.CompletedTask;
96 }
97
103 public Task<object> Evaluate(object Instance)
104 {
105 if (Instance is Account Account)
106 {
107 switch (this.definition)
108 {
109 case "UserName": return Task.FromResult<object>(Account.UserName);
110 case "EMail": return Task.FromResult<object>(Account.EMail);
111 case "PhoneNr": return Task.FromResult<object>(Account.PhoneNr);
112 case "FirstName": return Task.FromResult<object>(Account.FirstName);
113 case "MiddleNames": return Task.FromResult<object>(Account.MiddleNames);
114 case "LastNames": return Task.FromResult<object>(Account.LastNames);
115 case "PersonalNumber": return Task.FromResult<object>(Account.PersonalNumber);
116 case "Country": return Task.FromResult<object>(Account.Country);
117 case "OrgNumber": return Task.FromResult<object>(Account.OrgNumber);
118 case "OrgName": return Task.FromResult<object>(Account.OrgName);
119 case "OrgRole": return Task.FromResult<object>(Account.OrgRole);
120 case "OrgDepartment": return Task.FromResult<object>(Account.OrgDepartment);
121 case "OrgCountry": return Task.FromResult<object>(Account.OrgCountry);
122 }
123 }
124 else if (Instance is GenericObject Obj)
125 {
126 if (Obj.TryGetFieldValue(this.definition, out object Obj2))
127 return Task.FromResult(Obj2);
128 }
129
130 return Task.FromResult<object>(null);
131 }
132 }
133}
Task Tokenize(object Value, TokenizationProcess Process)
Tokenizes an object.
Contains information about a tokenization process.
uint DocumentIndexOffset
Document Index Offset. Used to identify sequences of tokens in a document.
Generic object. Contains a sequence of properties.
Contains information about a broker account.
Definition: Account.cs:41
CaseInsensitiveString PersonalNumber
Phone Number associated with account holder.
Definition: Account.cs:246
CaseInsensitiveString EMail
E-mail address associated with account.
Definition: Account.cs:176
CaseInsensitiveString UserName
User Name of account
Definition: Account.cs:141
CaseInsensitiveString OrgRole
Organization role associated with account holder.
Definition: Account.cs:286
CaseInsensitiveString FirstName
First name associated with account holder.
Definition: Account.cs:216
CaseInsensitiveString Country
Country code associated with account holder.
Definition: Account.cs:256
CaseInsensitiveString LastNames
Last name(s) associated with account holder.
Definition: Account.cs:236
CaseInsensitiveString PhoneNr
Phone number associated with account.
Definition: Account.cs:185
CaseInsensitiveString OrgDepartment
Organization department associated with account holder.
Definition: Account.cs:296
CaseInsensitiveString OrgNumber
Organization number associated with account holder.
Definition: Account.cs:266
CaseInsensitiveString OrgName
Organization name associated with account holder.
Definition: Account.cs:276
CaseInsensitiveString OrgCountry
Country code of organization associated with account holder.
Definition: Account.cs:306
CaseInsensitiveString MiddleNames
Middle name(s) associated with account holder.
Definition: Account.cs:226
Tokenizes (for full-text-search) a broker account.
AccountTokenizer()
Tokenizes (for full-text-search) a broker account.
Task Prepare(string Definition)
Prepares the evaluator with its definition.
async Task Tokenize(object Value, TokenizationProcess Process)
Tokenizes an object.
Task< object > Evaluate(object Instance)
Evaluates the property evaluator, on an object instance.
static Task Tokenize(Account Account, TokenizationProcess Process)
Tokenizes a broker account.
Grade Supports(Type Type)
How well the tokenizer can tokenize objects of type Type .
Interface for full-text-search tokenizers
Definition: ITokenizer.cs:12
Grade
Grade enumeration
Definition: Grade.cs:7