Niestandardowe akcje DataService

Kontrakt DataService’u zawiera dwie metody umożliwiające wywołanie uniwersalnej akcji:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
byte[] CustomGet(string operationCode, byte[] args)
void CustomExecute(string operationCode, byte[] args)
byte[] CustomGet(string operationCode, byte[] args) void CustomExecute(string operationCode, byte[] args)
byte[] CustomGet(string operationCode, byte[] args)
void CustomExecute(string operationCode, byte[] args)

Zarówno argument jak i typ zwracany (tylko CustomGet) jest tablicą bajtów, aby można było przesłać oraz odebrać dowolna strukturę.

Wywołanie na POS

Metody do wywołania akcji uniwersalnych znajdują się w serwisie ISynchronizationService. Wystarczy we własnym module wstrzyknąć instancje w/w serwisu i wywołać żądaną operację.

Obsługa na DataService

Podpięcie obsługi akcji uniwersalnej polega na zarejestrowaniu jej obsługi w module rozszerzającym.

!!Uwaga!! klasa opatrzona atrybutem musi być statyczna

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[DataServiceBusinessModule]
public static class Module
{
[MethodInitializer]
public static void Initialize()
{
var customOpsService = IoC.Container.Resolve<ICustomOperationsService>();
customOpsService.RegisterCustomGet("my_op", MyCustomGet);
}
private static byte[] MyCustomGet(byte[] data)
{
//kod
}
}
[DataServiceBusinessModule] public static class Module { [MethodInitializer] public static void Initialize() { var customOpsService = IoC.Container.Resolve<ICustomOperationsService>(); customOpsService.RegisterCustomGet("my_op", MyCustomGet); } private static byte[] MyCustomGet(byte[] data) { //kod } }
[DataServiceBusinessModule]
public static class Module    
{
   [MethodInitializer]
   public static void Initialize()        
   {
      var customOpsService = IoC.Container.Resolve<ICustomOperationsService>();
      customOpsService.RegisterCustomGet("my_op", MyCustomGet);
   }
   private static byte[] MyCustomGet(byte[] data)        
   {
     //kod   
   }
}

 

Czy ten artykuł był pomocny?