Codeunit 9055 ABS Container Helper in 27
- App
- System Application
- Namespace
- System.Azure.Storage
Versions171819202122232425262728latest
Source in 27
src/System Application/App/Azure Blob Services API/src/Helper/ABSContainerHelper.Codeunit.al84 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace System.Azure.Storage;
codeunit 9055 "ABS Container Helper"
{
Access = Internal;
InherentEntitlements = X;
InherentPermissions = X;
procedure AddNewEntryFromNode(var ABSContainer: Record "ABS Container"; var Node: XmlNode; XPathName: Text)
var
ABSHelperLibrary: Codeunit "ABS Helper Library";
NameFromXml: Text;
OuterXml: Text;
ChildNodes: XmlNodeList;
PropertiesNode: XmlNode;
begin
NameFromXml := ABSHelperLibrary.GetValueFromNode(Node, XPathName);
Node.WriteTo(OuterXml);
Node.SelectSingleNode('.//Properties', PropertiesNode);
ChildNodes := PropertiesNode.AsXmlElement().GetChildNodes();
if ChildNodes.Count = 0 then
AddNewEntry(ABSContainer, NameFromXml, OuterXml)
else
AddNewEntry(ABSContainer, NameFromXml, OuterXml, ChildNodes);
end;
procedure AddNewEntry(var ABSContainer: Record "ABS Container"; NameFromXml: Text; OuterXml: Text)
var
ChildNodes: XmlNodeList;
begin
AddNewEntry(ABSContainer, NameFromXml, OuterXml, ChildNodes);
end;
procedure AddNewEntry(var ABSContainer: Record "ABS Container"; NameFromXml: Text; OuterXml: Text; ChildNodes: XmlNodeList)
var
Output: OutStream;
begin
ABSContainer.Init();
ABSContainer.Name := CopyStr(NameFromXml, 1, 250);
SetPropertyFields(ABSContainer, ChildNodes);
ABSContainer."XML Value".CreateOutStream(Output);
Output.Write(OuterXml);
ABSContainer.Insert(true);
end;
local procedure SetPropertyFields(var ABSContainer: Record "ABS Container"; ChildNodes: XmlNodeList)
var
ABSFormatHelper: Codeunit "ABS Format Helper";
ABSHelperLibrary: Codeunit "ABS Helper Library";
RecordRef: RecordRef;
FieldRef: FieldRef;
ChildNode: XmlNode;
PropertyName: Text;
PropertyValue: Text;
FldNo: Integer;
begin
foreach ChildNode in ChildNodes do begin
PropertyName := ChildNode.AsXmlElement().Name;
PropertyValue := ChildNode.AsXmlElement().InnerText;
if PropertyValue <> '' then begin
RecordRef.GetTable(ABSContainer);
if ABSHelperLibrary.GetFieldByName(Database::"ABS Container", PropertyName, FldNo) then begin
FieldRef := RecordRef.Field(FldNo);
case FieldRef.Type of
FieldRef.Type::DateTime:
FieldRef.Value := ABSFormatHelper.ConvertToDateTime(PropertyValue);
FieldRef.Type::Integer:
FieldRef.Value := ABSFormatHelper.ConvertToInteger(PropertyValue);
FieldRef.Type::Boolean:
FieldRef.Value := ABSFormatHelper.ConvertToBoolean(PropertyValue);
else
FieldRef.Value := PropertyValue;
end;
end;
end;
RecordRef.SetTable(ABSContainer);
end;
end;
}Procedures, 3
| Name | Parameters | Returns | Access | Obsolete |
|---|---|---|---|---|
| AddNewEntryFromNode | (var Record ABS Container, var XmlNode, Text) | public | - | |
| AddNewEntry | (var Record ABS Container, Text, Text) | public | - | |
| AddNewEntry | (var Record ABS Container, Text, Text, XmlNodeList) | public | - |