Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
ContractStateTemplateSelector.cs
1
2
5
7{
8 public class ContractStateTemplateSelector : DataTemplateSelector
9 {
10 public DataTemplate? ProposedTemplate { get; set; }
11 public DataTemplate? RejectedTemplate { get; set; }
12 public DataTemplate? ApprovedTemplate { get; set; }
13 public DataTemplate? BeingSignedTemplate { get; set; }
14 public DataTemplate? SignedTemplate { get; set; }
15 public DataTemplate? FailedTemplate { get; set; }
16 public DataTemplate? ObsoletedTemplate { get; set; }
17 public DataTemplate? DeletedTemplate { get; set; }
18
19 protected override DataTemplate OnSelectTemplate(object item, BindableObject container)
20 {
21 if (item is ObservableContract Contract)
22 {
23 return Contract.ContractState switch
24 {
25 ContractState.Proposed => this.ProposedTemplate ?? this.SignedTemplate!,
26 ContractState.Rejected => this.RejectedTemplate ?? this.SignedTemplate!,
27 ContractState.Approved => this.ApprovedTemplate ?? this.SignedTemplate!,
28 ContractState.BeingSigned => this.BeingSignedTemplate ?? this.SignedTemplate!,
29 ContractState.Signed => this.SignedTemplate ?? this.SignedTemplate!,
30 ContractState.Failed => this.FailedTemplate ?? this.SignedTemplate!,
31 ContractState.Obsoleted => this.ObsoletedTemplate ?? this.SignedTemplate!,
32 ContractState.Deleted => this.DeletedTemplate ?? this.SignedTemplate!,
33 _ => this.SignedTemplate!
34 };
35 }
36
37 // Fallback if item is not a Contract or state unknown.
38 return this.SignedTemplate!;
39 }
40 }
41}
An observable object that wraps a Contract object. This allows for easier binding in the UI....
Contains the definition of a contract
Definition: Contract.cs:22
Definition: ImplTypes.g.cs:58