本帖最后由 15725821270 于 2021-8-3 11:22 编辑
这个有用吗using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using GrapeCity.Forguncy.Commands;
using GrapeCity.Forguncy.Plugin;
using OperateFilesCommand.Properties;
using ServerDesignerCommon.Services;
namespace OperateFilesCommand
{
[OrderWeight(10
[Icon("pack://application:,,,/OperateFilesCommand;component/Resources/getFileFromDB.png"
public class GetFilesFromDatabase : FileOperateCommandBase, IServerCommandParamGenerator
{
[FormulaProperty
[SearchableProperty
[Required
[ResourcesDisplayName("GetFilesFromDatabase_FieldValue"
public object FieldValue { get; set; }
[Required
[SearchableProperty
[ResourcesDisplayName("DownloadFileCommand_ToParameterName"
public string ToParameterName { get; set; }
public override ExecuteResult Execute(IServerCommandExecuteContext dataContext)
{
IServerFileService serverFileService = dataContext.ServiceProvider.GetService(typeof(IServerFileService)) as IServerFileService;
object obj = dataContext.EvaluateFormula(this.FieldValue);
string text = (obj != null) ? obj.ToString() : null;
List<string> value = serverFileService.GetFilesFromAttachmentValue(text).ToList<string>();
dataContext.Parameters[this.ToParameterName = value;
return new ExecuteResult();
}
public IEnumerable<GenerateParam> GetGenerateParams()
{
yield return new GenerateListParam
{
ParamName = this.ToParameterName
};
yield break;
}
public override string ToString()
{
return Resources.GetFilesFromDatabase_DisplayName;
}
}
}
|