...
Блок кода |
---|
language | c# |
---|
theme | RDark |
---|
linenumbers | true |
---|
|
using System.Collections.Generic;
using System.IO;
using Robin.ActionSDK;
using Robin.ActionSDK.Exceptions;
using Robin.Engine.Services.Interfaces;
using Robin.Types;
namespace Robin.SdkExamples
{
public class ReadFile : BaseRobinAction
{
private readonly IResourcesFolderService _resourcesFolderService;
public ReadFile(IActionLogger logger, IResourcesFolderService resourcesFolderService) : base(logger)
{
_resourcesFolderService = resourcesFolderService;
}
public override IDictionary<string, object> Execute(IDictionary<string, object> parameters)
{
var fileName = ((RobinFilePath)parameters["fileName"]).Value;
if (!TryResolveFilePath(fileName, out var filePath))
throw new RobinException($"Файл не найден {fileName}", "Robin.Exception.FileNotFound");
var text = File.ReadAllText(filePath);
return new Dictionary<string, object>
{
{"text", text}
};
}
private bool TryResolveFilePath(string fileName, out string filePath)
{
filePath = fileName;
if (File.Exists(fileName))
return true;
filePath = Path.Combine(_resourcesFolderService.GetResourcesFolderPath(), fileName);
return File.Exists(filePath);
}
}
} |
RobinDeserializeService
Сервис для десериализации робин-объектов, сериализованных в XML.
Методы
Блок кода |
---|
|
object XmlToObj(string xmlObject); |
Примеры использования
Блок кода |
---|
language | c# |
---|
theme | RDark |
---|
linenumbers | true |
---|
|
using System.Collections.Generic;
using Robin.ActionSDK;
using Robin.Engine.Services.Interfaces;
namespace Robin.SdkExamples
{
public class DeserializeObject : BaseRobinAction
{
private readonly IRobinDeserializeService _deserializeService;
public DeserializeObject(IActionLogger logger, IRobinDeserializeService deserializeService) : base(logger)
{
_deserializeService = deserializeService;
}
public override IDictionary<string, object> Execute(IDictionary<string, object> parameters)
{
var serializedValue = (string)parameters["serializedValue"];
var deserializedValue = _deserializeService.XmlToObj(serializedValue);
return new Dictionary<string, object>
{
{"deserializedValue", deserializedValue}
};
}
}
} |