iikoFront Api V6 Code Reference
iikoFront Api V6 Code Reference
Resto.Front.Api
IOperationService Interface
IOperationService Methods
AddClientToOrder Method
AddDonation Method
AddErrorMessage Method
AddNotificationMessage Method
AddWarningMessage Method
AuthenticateByPin Method
BillOrder Method
CalculateDeliveryTerminalWorkload Method
CallExternalOperation Method
CancelBill Method
CancelNewDelivery Method
CancelNewDeliveryAndHideItemsFromOlap Method
CancelReserve Method
CanProductBePaidWithPaymentType Method
ChangeDeliveryOpinion Method
ChangePreliminaryOrder Method
CheckCanEditOrder Method
CheckProductsSellingRestrictions Method
CloseCafeSession Method
CreateDiscountCard Method
CreateEditSession Method
CreatePreliminaryOrder Method
DeleteDonation Method
DeleteOrder Method
DeleteOrderAndHideItemsFromOlap Method
DeletePreliminaryOrder Method
EnablePreliminaryOrdersScreen Method
ExecuteContinuousOperation Method
GetActivePaymentTypes Method
GetActiveProducts Method
GetActiveRemovalTypes Method
GetActiveStreets Method
GetAgentId Method
GetAllProducts Method
GetAllStreets Method
GetCafeSessionByCashRegister Method
GetCafeSessionById Method
GetCashRegisterInfoById Method
GetCashRegisterInfos Method
GetChildGroupsByProductGroup Method
GetChildProductsByProductGroup Method
GetCities Method
GetCityById Method
GetClientById Method
GetCommonGroupModifiersByCompoundItemTemplate Method
GetCommonSimpleModifiersByCompoundItemTemplate Method
GetCompoundItemTemplateById Method
GetCompoundItemTemplates Method
GetConceptionById Method
GetConceptions Method
GetDeletedOrderTypes Method
GetDeliveryCancelCauseById Method
GetDeliveryCancelCauses Method
GetDeliveryOrderById Method
GetDeliveryOrders Method
GetDeliverySection Method
GetDisabledSizesByProduct Method
GetDiscountCardById Method
GetDiscountCards Method
GetDiscountTypeById Method
GetDiscountTypes Method
GetDonationTypesCompatibleWith Method
GetExternalOperations Method
GetGroupModifiersByProduct Method
GetHierarchicalMenu Method
GetHostDeliverySettings Method
GetHostRestaurant Method
GetHostTerminal Method
GetHostTerminalCultureInfo Method
GetHostTerminalPointsOfSale Method
GetHostTerminalsGroup Method
GetInactiveProducts Method
GetIncludedInMenuSectionsByProduct Method
GetKitchenOrderById Method
GetKitchenOrders Method
GetLastChangedOrderTerminal Method
GetMarketingSourceById Method
GetMarketingSources Method
GetOrderAppliedDiscounts Method
GetOrderById Method
GetOrderItemProductGroups Method
GetOrders Method
GetOrderTypeById Method
GetOrderTypes Method
GetOrganizationFingerprint Method
GetParentByProduct Method
GetParentByProductGroup Method
GetPastOrder Method
GetPaymentSystemName Method
GetPaymentTypeById Method
GetPaymentTypes Method
GetPaymentTypesToPayOutOnUser Method
GetPointOfSaleById Method
GetPreliminaryOrderById Method
GetPreliminaryOrders Method
GetPrice Method
GetPriceCategories Method
GetPriceCategoryById Method
GetProductById Method
GetProductCategories Method
GetProductCategoryById Method
GetProductGroupById Method
GetProductGroupMenuImage Method
GetProductGroups Method
GetProductMenuImage Method
GetProducts Method
GetProductScaleById Method
GetProductScales Method
GetProductScaleSizes Method
GetProductSizeById Method
GetProductSizes Method
GetProductsRemainingAmounts Method
GetProductStocksListById Method
GetProductStocksLists Method
GetQuickMenu Method
GetReceiptMarkup Method
GetRegionById Method
GetRegions Method
GetRelatedDeliveryOrders Method
GetRemovalTypeById Method
GetReportPrinter Method
GetReserveById Method
GetReserves Method
GetRestaurantSections Method
GetSectionSchemaById Method
GetSectionSchemaByRestaurantSection Method
GetSectionSchemas Method
GetSelectiveDiscountItemSettings Method
GetSimpleModifiersByProduct Method
GetSplittableGroupModifiersByCompoundItemTemplate Method
GetSplittableSimpleModifiersByCompoundItemTemplate Method
GetStreetById Method
GetSurveyItemById Method
GetSurveyItems Method
GetTableById Method
GetTables Method
GetTaxCategories Method
GetTaxCategoryById Method
GetTemplatedModifiersParamsByProduct Method
GetTerminalDeliveryDuration Method
GetTerminalsGroupPointsOfSale Method
GetTransportSettings Method
GetUpdatedDeliveryOrders Method
GetUser Method
GetUserById Method
GetUsers Method
IsActiveForDeliveries Method
IsAllCafeSessionsOpen Method
IsDeliveryActive Method
IsDeliveryConfirmationActive Method
IsMultiCashRegisterConfiguration Method
IsProductSellingRestricted Method
NeedToSplitOrderBeforePayment Method
OpenCafeSession Method
PayOrder Method
PayOrderAndPayOutOnUser Method
Print Method
PrintBanquet Method
PrintBillCheque Method
PrintOrderItems Method
PrintReceiptCheque Method
PrintTableReservedCheque Method
ProcessPrepay Method
RegisterBillChequeTaskResolver Method
RegisterCashRegisterFactory Method
RegisterChequeTaskProcessor Method
RegisterExternalOperation Method
RegisterPaymentSystem Method
RegisterScaleFactory Method
RemoveOrderClient Method
SearchClients Method
SearchDiscountCardByNumber Method
SearchStreets Method
SendHrsCardTransactionToServer Method
SplitOrderBetweenCashRegisters Method
StartCourseCooking Method
StartProductsCooking Method
StartService Method
StopService Method
SubmitChanges Method
TryGetBillPrinter Method
TryGetCafeSessionById Method
TryGetCashRegisterInfoById Method
TryGetChildGroupsByProductGroup Method
TryGetChildProductsByProductGroup Method
TryGetCityById Method
TryGetClientById Method
TryGetClientByPhone Method
TryGetCommonGroupModifiersByCompoundItemTemplate Method
TryGetCommonSimpleModifiersByCompoundItemTemplate Method
TryGetCompoundItemTemplateById Method
TryGetConceptionById Method
TryGetDeliveryCancelCauseById Method
TryGetDeliveryOrderById Method
TryGetDisabledSizesByProduct Method
TryGetDiscountCardById Method
TryGetDiscountTypeById Method
TryGetDocumentPrinter Method
TryGetGroupModifiersByProduct Method
TryGetIncludedInMenuSectionsByProduct Method
TryGetKitchenOrderById Method
TryGetMarketingSourceById Method
TryGetOrderById Method
TryGetOrderExternalDataByKey Method
TryGetOrderTypeById Method
TryGetParentByProduct Method
TryGetParentByProductGroup Method
TryGetPaymentTypeById Method
TryGetPointOfSaleById Method
TryGetPreliminaryOrderById Method
TryGetPriceCategoryById Method
TryGetProductById Method
TryGetProductCategoryById Method
TryGetProductGroupById Method
TryGetProductScaleById Method
TryGetProductSizeById Method
TryGetProductStocksListById Method
TryGetReceiptChequePrinter Method
TryGetRegionById Method
TryGetRemovalTypeById Method
TryGetReserveById Method
TryGetSectionSchemaById Method
TryGetSectionSchemaByRestaurantSection Method
TryGetSimpleModifiersByProduct Method
TryGetSplittableGroupModifiersByCompoundItemTemplate Method
TryGetSplittableSimpleModifiersByCompoundItemTemplate Method
TryGetStickerPrinter Method
TryGetStreetById Method
TryGetSurveyItemById Method
TryGetTableById Method
TryGetTaxCategoryById Method
TryGetTemplatedModifiersParamsByProduct Method
TryGetUserById Method
UpdateDiscountCard Method

# IOperationService RegisterExternalOperation Method

Exposes a custom operation to be available for call by other plugins. The registration is not permanent, it holds true until disposing the return value, or plugin shutdown.

Namespace: Resto.Front.Api
Assembly: Resto.Front.Api.V6 (in Resto.Front.Api.V6.dll) Version: 1ca4876affdd3bc5359a98b321fc115a647d2251
Syntax
C#
Copy

    IDisposable RegisterExternalOperation(
    	string serviceName,
    	string operationName,
    	RemotableFunc<byte[], byte[]> callback
    )

#### Parameters

serviceName
  Type: System
  String
  Identifies the external service, just a namespace for a set of interrelated operations, which helps to group them logically. It's recommended to choose a unique name to avoid collisions with other plugins, i.e. include company's name or plugin's name into the service name. Min length is 1, max length is 50 chars.
operationName
  Type: System
  String
  In aggregate with [!:serviceName] identifies the operation. Both names have to be pre-shared with consumer plugins, so that they will be able to call the operation referring it by service and operation name. The combination of a service name and operation name must be unique at the same time. Min length is 1, max length is 50 chars.
callback
  Type: Resto.Front.Api.RemotingHelpers
  RemotableFunc
  Byte
  ,
  Byte
  The operation implementation, which will be called by other plugins via CallExternalOperation(String, String,
  Byte
  ).

#### Return Value

Type: IDisposable
Remarks
Different plugins running under the same iikoFront application instance can communicate via external operations. iikoFront just transfers requests and responses between plugins without knowing any details. Both producer and consumer plugins should understand the data structure, developers should negotiate a protocol specification, pre-share operation names, handle versioning and so on. Producer plugin registers an operation using RegisterExternalOperation(String, String, RemotableFunc
Byte
,
Byte
) and consumer plugin call it using CallExternalOperation(String, String,
Byte
).
See Also

#### Reference

IOperationService Interface
Resto.Front.Api Namespace
IOperationService
CallExternalOperation(String, String,
Byte
)