Codeunit 6711 OData Action Management, source in 29
Source29
src/Layers/W1/BaseApp/System/OData/ODataActionManagement.Codeunit.al89 lines, Copyright (c) Microsoft Corporation. MIT
namespace System.Integration;
using System;
codeunit 6711 "OData Action Management"
{
trigger OnRun()
begin
end;
var
"Keys": DotNet GenericDictionary2;
KeysInitialized: Boolean;
procedure AddKey(FieldNo: Integer; Value: Variant)
begin
if not KeysInitialized then
InitializeDictionary();
Keys.Add(FieldNo, Value);
end;
[Scope('OnPrem')]
procedure SetUpdatedPageResponse(var ActionContext: DotNet WebServiceActionContext; EntityObjectId: Integer)
var
ResponseCode: DotNet WebServiceActionContext_StatusCode;
begin
SetCommonContextValues(ActionContext, EntityObjectId);
ActionContext.SetNavObjectType(OBJECTTYPE::Page);
ActionContext.ResultCode := ResponseCode.Updated;
end;
[Scope('OnPrem')]
procedure SetCreatedPageResponse(var ActionContext: DotNet WebServiceActionContext; EntityObjectId: Integer)
var
ResponseCode: DotNet WebServiceActionContext_StatusCode;
begin
SetCommonContextValues(ActionContext, EntityObjectId);
ActionContext.SetNavObjectType(OBJECTTYPE::Page);
ActionContext.ResultCode := ResponseCode.Created;
end;
[Scope('OnPrem')]
procedure SetDeleteResponse(var ActionContext: DotNet WebServiceActionContext)
var
ResponseCode: DotNet WebServiceActionContext_StatusCode;
begin
ActionContext.ResultCode := ResponseCode.Deleted;
end;
[Scope('OnPrem')]
procedure SetDeleteResponseLocation(var ActionContext: DotNet WebServiceActionContext; EntityObjectId: Integer)
var
ResponseCode: DotNet WebServiceActionContext_StatusCode;
begin
SetCommonContextValues(ActionContext, EntityObjectId);
ActionContext.SetNavObjectType(OBJECTTYPE::Page);
ActionContext.ResultCode := ResponseCode.Deleted;
end;
local procedure InitializeDictionary()
var
Type: DotNet Type;
Activator: DotNet Activator;
Arr: DotNet Array;
"Object": DotNet Object;
DummyInt: Integer;
begin
Arr := Arr.CreateInstance(GetDotNetType(Type), 2);
Arr.SetValue(GetDotNetType(DummyInt), 0);
Arr.SetValue(GetDotNetType(Object), 1);
Type := GetDotNetType(Keys);
Type := Type.MakeGenericType(Arr);
Keys := Activator.CreateInstance(Type);
KeysInitialized := true;
end;
local procedure SetCommonContextValues(var ActionContext: DotNet WebServiceActionContext; EntityObjectId: Integer)
begin
ActionContext.NavObjectId := EntityObjectId;
if KeysInitialized then
ActionContext.AddEntityKeys(Keys);
end;
}