Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
KycFieldTemplateSelector.cs
1using System;
3using System.Linq;
4using System.Text;
5using System.Threading.Tasks;
8
10{
11 public class KycFieldTemplateSelector : DataTemplateSelector
12 {
13 public DataTemplate? TextFieldTemplate { get; set; }
14 public DataTemplate? DateFieldTemplate { get; set; }
15 public DataTemplate? PickerFieldTemplate { get; set; }
16 public DataTemplate? BooleanFieldTemplate { get; set; }
17 public DataTemplate? IntegerFieldTemplate { get; set; }
18 public DataTemplate? DecimalFieldTemplate { get; set; }
19 public DataTemplate? RadioFieldTemplate { get; set; }
20 public DataTemplate? CountryFieldTemplate { get; set; }
21 public DataTemplate? CheckboxFieldTemplate { get; set; }
22 public DataTemplate? FileUploadFieldTemplate { get; set; }
23 public DataTemplate? ImageUploadFieldTemplate { get; set; }
24 public DataTemplate? LabelFieldTemplate { get; set; }
25 public DataTemplate? InfoFieldTemplate { get; set; }
26
27 protected override DataTemplate? OnSelectTemplate(object item, BindableObject container)
28 {
29 if (item is not ObservableKycField Field) return this.TextFieldTemplate;
30 return Field.FieldType switch
31 {
32 FieldType.Boolean => this.BooleanFieldTemplate,
33 FieldType.Date => this.DateFieldTemplate,
34 FieldType.Integer => this.IntegerFieldTemplate ?? this.TextFieldTemplate,
35 FieldType.Decimal => this.DecimalFieldTemplate ?? this.TextFieldTemplate,
36 FieldType.Picker => this.PickerFieldTemplate,
37 FieldType.Radio => this.RadioFieldTemplate ?? this.PickerFieldTemplate,
38 FieldType.Country => this.PickerFieldTemplate,
39 FieldType.Gender => this.PickerFieldTemplate,
40 FieldType.Checkbox => this.CheckboxFieldTemplate ?? this.PickerFieldTemplate,
41 FieldType.File => this.FileUploadFieldTemplate,
42 FieldType.Image => this.ImageUploadFieldTemplate,
43 FieldType.Label => this.LabelFieldTemplate ?? this.TextFieldTemplate,
44 FieldType.Info => this.InfoFieldTemplate ?? this.TextFieldTemplate,
45 _ => this.TextFieldTemplate
46 };
47 }
48 }
49}
The base KYC field model. Use as-is for generic fields, or subclass for custom logic.
Definition: ImplTypes.g.cs:58