using DS.PLM.Extend.Custom.IntegrateDev.CustomActions;
using DS.PLM.Extend.Model;
using RnD.API;
using RnD.Attributes;
using RnD.Common.Model.ActionBarButtons;
using RnD.CustomFunctionTypes;
using RnD.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace DS.PLM.Extend.Custom.IntegrateDev.ActionBarButton
{/// <summary>/// 实验任务:最优品预览及导出/// Author: Bingo/// Date:2024年9月20日16:39:24/// </summary>[CustomFunction("btnExportBestProduct")]public class btnExportBestProduct : AdvancedCustomFunction, ICustomActionBarButton//这里继承不用动,此继承是为了在RDnL界面中菜单显示此按钮{//这里是构造函数,传入IAPI接口public btnExportBestProduct(IAPI aApi) : base(aApi){}/// <summary>/// 获取ActionBarButton的元数据信息,设置按钮的显示名称、图标、描述、是否显示等信息/// </summary>/// <returns></returns>public ActionBarButtonMetadata GetActionBarButtonMetadata(){var lResult = new ActionBarButtonMetadata();string lang = API.CustomizationSession.UserApplicationLanguage;if (lang == "zh-CN"){lResult = new ActionBarButtonMetadata(){Description = "最优品预览及导出",//设置按钮显示的名字IconClass = "icon-cmdExport24",//设置按钮图标DropdownIdentifier = ""};}if (lang == "en-US"){lResult = new ActionBarButtonMetadata(){Description = "Best Product Preview",IconClass = "icon-cmdExport24",DropdownIdentifier = ""};}//这段话是设置此按钮在哪个菜单展示,Request 是在配方页面展示,Specification 是在规格页面展示//注意:如果添加的是规格页面,则Exceute方法中,(IRequest)aCustomisationObject[0] 需要改为 (ISpecification)aCustomisationObject[1] lResult.IsVisibleWhen.Add(RnD.Common.Enums.ActionBarButtonVisibility.Request);return lResult;}public ActionBarButtonResult Execute(List<ICustomizationObject> aCustomisationObject){var lResult = new ActionBarButtonResult(){