public PaymentWorkflow(IPayService payService, ISubmitService submitService, IMappingService mappingService, ISessionHelper sessionHelper) { _submitService = submitService; _mappingService = mappingService; _sessionHelper = sessionHelper; _payService = payService; }
public SubmitController(ISubmitService submitService, ILogger <SubmitController> logger, IUserRepository userRepository, IOptions <SubmitSettings> submitSettings) { this.submitService = submitService; this.logger = logger; this.userRepository = userRepository; this.submitSettings = submitSettings.Value; }
public SubmitController(ISubmitService submitService, IAuthenticationProvider authenticationProvider, IViewModelFactory viewModelFactory) { Guard.WhenArgument(submitService, "submitService cannot be null").IsNull().Throw(); Guard.WhenArgument(authenticationProvider, "AuthenticationProvider cannot be null").IsNull().Throw(); Guard.WhenArgument(viewModelFactory, "viewModelFactory cannot be null").IsNull().Throw(); this.submitService = submitService; this.authenticationProvider = authenticationProvider; this.viewModelFactory = viewModelFactory; }
/// <summary> /// 提交进入工作流 /// </summary> /// <param name="ctx"></param> /// <param name="FormID"></param> /// <param name="ids"></param> /// <returns></returns> public IOperationResult SubmitWorkFlowBill(Context ctx, string FormID, string billId) { IMetaDataService metaService = ServiceHelper.GetService <IMetaDataService>(); //元数据服务 FormMetadata Meta = metaService.Load(ctx, FormID) as FormMetadata; //获取元数据 // 首先判断单据是否已经有未完成的工作流 IProcInstService procInstService = Kingdee.BOS.Workflow.Contracts.ServiceFactory.GetProcInstService(ctx); bool isExist = procInstService.CheckUnCompletePrcInstExsit(ctx, FormID, billId); if (isExist) { throw new KDBusinessException("AutoSubmit-001", "该单据已经启动了流程,不允许重复提交!"); } // 读取单据的工作流配置模板 IWorkflowTemplateService wfTemplateService = Kingdee.BOS.Workflow.Contracts.ServiceFactory.GetWorkflowTemplateService(ctx); List <FindPrcResult> findProcResultList = wfTemplateService.GetPrcListByFormID( FormID, new string[] { billId }, ctx); if (findProcResultList == null || findProcResultList.Count == 0) { throw new KDBusinessException("AutoSubmit-002", "查找单据适用的流程模板失败,不允许提交工作流!"); } // 设置提交参数:忽略操作过程中的警告,避免与用户交互 OperateOption submitOption = OperateOption.Create(); submitOption.SetIgnoreWarning(true); IOperationResult submitResult = null; FindPrcResult findProcResult = findProcResultList[0]; if (findProcResult.Result == TemplateResultType.Error) { throw new KDBusinessException("AutoSubmit-003", "单据不符合流程启动条件,不允许提交工作流!"); } else if (findProcResult.Result != TemplateResultType.Normal) { // 本单无适用的流程图,直接走传统审批 ISubmitService submitService = ServiceHelper.GetService <ISubmitService>(); submitResult = submitService.Submit(ctx, Meta.BusinessInfo, new object[] { billId }, "Submit", submitOption); } else { // 走工作流 IBOSWorkflowService wfService = Kingdee.BOS.Workflow.Contracts.ServiceFactory.GetBOSWorkflowService(ctx); submitResult = wfService.ListSubmit(ctx, Meta.BusinessInfo, 0, new object[] { billId }, findProcResultList, submitOption); } return(submitResult); }
/// <summary> /// 保存 /// </summary> /// <param name="ctx"></param> /// <param name="FormID">业务对象标识</param> /// <param name="dyObject">保存业务对象集合</param> /// <returns></returns> public IOperationResult SaveBill(Context ctx, string FormID, DynamicObject[] dyObject) { IMetaDataService metaService = ServiceHelper.GetService <IMetaDataService>(); FormMetadata targetBillMeta = metaService.Load(ctx, FormID) as FormMetadata; // 构建保存操作参数:设置操作选项值,忽略交互提示 OperateOption saveOption = OperateOption.Create(); // 忽略全部需要交互性质的提示,直接保存; //saveOption.SetIgnoreWarning(true); // 忽略交互提示 //saveOption.SetInteractionFlag(this.Option.GetInteractionFlag()); // 如果有交互,传入用户选择的交互结果 // using Kingdee.BOS.Core.Interaction; //saveOption.SetIgnoreInteractionFlag(this.Option.GetIgnoreInteractionFlag()); //// 如下代码,强制要求忽略交互提示(演示案例不需要,注释掉) saveOption.SetIgnoreWarning(true); //// using Kingdee.BOS.Core.Interaction; saveOption.SetIgnoreInteractionFlag(true); // 调用保存服务,自动保存 ISaveService saveService = ServiceHelper.GetService <ISaveService>(); IOperationResult saveResult = saveService.Save(ctx, targetBillMeta.BusinessInfo, dyObject, saveOption, "Save"); ISubmitService save1Service = ServiceHelper.GetService <ISubmitService>(); return(saveResult); }
public SubmitController(ISubmitService submitService) { _submitService = submitService; }
/// <summary> /// 保存操作完毕,事务结束之前,进行自动提交、审核 /// </summary> /// <param name="e"></param> public override void EndOperationTransaction(EndOperationTransactionArgs e) { // 取到需要自动提交、审核的单据内码 object[] pkArray = (from p in e.DataEntitys select p[0]).ToArray(); // 设置提交参数 // using Kingdee.BOS.Orm; OperateOption submitOption = OperateOption.Create(); submitOption.SetIgnoreWarning(this.Option.GetIgnoreWarning()); submitOption.SetInteractionFlag(this.Option.GetInteractionFlag()); submitOption.SetIgnoreInteractionFlag(this.Option.GetIgnoreInteractionFlag()); // 创建提交服务:using Kingdee.BOS.Contracts; using Kingdee.BOS.App; ISubmitService submitService = ServiceHelper.GetService <ISubmitService>(); IOperationResult submitResult = submitService.Submit( this.Context, this.BusinessInfo, pkArray, "Submit", submitOption); // 判断提交结果,如果失败,则内部会抛出错误,回滚代码 if (CheckOpResult(submitResult) == false) { return; } // 构建操作可选参数对象 OperateOption auditOption = OperateOption.Create(); auditOption.SetIgnoreWarning(this.Option.GetIgnoreWarning()); auditOption.SetInteractionFlag(this.Option.GetInteractionFlag()); auditOption.SetIgnoreInteractionFlag(this.Option.GetIgnoreInteractionFlag()); // 构建单据主键参数 List <KeyValuePair <object, object> > pkEntityIds = new List <KeyValuePair <object, object> >(); foreach (var pkValue in pkArray) { pkEntityIds.Add(new KeyValuePair <object, object>(pkValue, "")); } List <object> paras = new List <object>(); paras.Add("1"); paras.Add(""); // 调用审核操作 ISetStatusService setStatusService = ServiceHelper.GetService <ISetStatusService>(); // 如下调用方式,需显示交互信息 IOperationResult auditResult = setStatusService.SetBillStatus(this.Context, this.BusinessInfo, pkEntityIds, paras, "Audit", auditOption); // 判断审核结果,如果失败,则内部会抛出错误,回滚代码 if (CheckOpResult(auditResult) == false) { return; } }
public ApplicationRequestToApplicationConverter(ISubmitService submitService, ICountryService countryService, IPostcodeService postcodeService) { this.countryService = countryService; this.postcodeService = postcodeService; }
public SubmitController(IModelConverter <ApplicationRequest, Application> converter, ISubmitService submitService) { this.submitService = submitService; this.converter = converter; }
public SubmitWorkflow(ISubmitService submitService, IMappingService mappingService, ISessionHelper sessionHelper) { _submitService = submitService; _mappingService = mappingService; _sessionHelper = sessionHelper; }