Changes between Version 18 and Version 19 of Documentatie/Ontwikkelaar/Procedures/MailmergeVariabelen
- Timestamp:
- 06/24/21 07:03:24 (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Documentatie/Ontwikkelaar/Procedures/MailmergeVariabelen
v18 v19 29 29 30 30 == !MergeValue getter implementatie == 31 Je vindt de !MailMerge module in OpenACLogica/Modules/!MailMerge. Je implementeert een getter door een nieuwe klasse toe te voegen aan de map !MergeValueGetters. De klasse moet een subclass zijn van !MergeValueGetterBase en interface !IMergeValueGetterimplementeren:31 Je vindt de !MailMerge module in OpenACLogica/Modules/!MailMerge. Je implementeert een getter door een nieuwe klasse toe te voegen aan de map !MergeValueGetters. De klasse moet een subclass zijn van {{{MergeValueGetterBase}}} en interface {{{IMergeValueGetter}}} implementeren: 32 32 {{{#!csharp 33 33 namespace OpenACLogica.Modules.MailMerge.MergeValueGetters … … 40 40 }}} 41 41 42 Interface {{{IMergeValueGetter}}} bevat 6 methods: 43 {{{#!csharp 44 public interface IMergeValueGetter 45 { 46 IEnumerable<string> RegisterFor { get; } 47 Task<MergeGlobalContainer> GetMergeGlobals(PathElement path, MergeGlobalContainer values, IEnumerable<MergeGlobalContainer> parentValues, Dictionary<string, object> data); 48 Task<MergeRecords> GetMergeRecords(PathElement path, MergeRecords parentMergeRecords, List<string> relaties, Dictionary<string, object> data); 49 void Init(string pad); 50 Task<Dictionary<string, object>> GetData(PathElement path); 51 void VulStandaardvelden(Dictionary<string, object> data); 52 } 53 }}} 54 55 Je hoeft alleen de eerste 3 methods te implementeren, de overige methods zijn geïmplementeerd in {{{MergeValueGetterBase}}}. 56 === {{{RegisterFor}}} === 57 58 42 59 === Getter registreren === 43 60 !MergeValue getters worden geregistreerd voor één of meer ACL-paden. Een ACL-pad is de generieke vorm van het pad naar een entiteit. Als patient(x)/behandeling(y)/plandagen(z) het pad is naar afspraak z, dan is patient/behandeling/plandagen het ACL-pad.