首页 > 其他 > 详细

委托集合使用

时间:2015-09-29 22:10:03      阅读:392      评论:0      收藏:0      [点我收藏+]
        public delegate void OrderProcessmethod(VoidOrderInput input, Action callback);
        public List<OrderProcessmethod> _voidProcessorList { get; set; }

       _voidProcessorList.Add(VoidInsuranceInfo);
            _voidProcessorList.Add(VoidFinianceInfo);
            _voidProcessorList.Add(VoidOrderRollBackInventory);
            _voidProcessorList.Add(VoidOrderInfo);
            _voidProcessorList.ForEach(item =>
            {
                item.Invoke(input, () => { });
            });

 private void VoidInsuranceInfo(VoidOrderInput input, Action callback)
        {
            CancelInsuranceRequestDto resuest = new CancelInsuranceRequestDto() { OrderNumber = input.OrderNumber, CancelReason = "订单作废,申请作废保险申请单!", OperatorUserId = Convert.ToInt32(ConstValue.OperatorUserId) };
            var result = AsyncHelper.RunSync(() => _webServiceHelper.PostAsync<AjaxResponse>(ConstValue.BackendServiceBaseUrls, string.Format("/Tesla/api/Insurance/PostOrderCanceledToCancelInsuranceRequest", resuest)));
            if (!result.Success)
            {
                throw new BusinessException("F00004", string.Format("调用采销回滚库存接口失败,服务地址:{0},错误信息:{1}",
                            ConstValue.BackendServiceBaseUrls + "/Tesla/api/Insurance/PostOrderCanceledToCancelInsuranceRequest"
                            , result.Error.Message));
            }
            else { callback(); }
        }

同样输入输出的方法可以放到同一个执行序列里面,用于连续的Check,其中 有一部不满足就抛出异常。

  

委托集合使用

原文:http://www.cnblogs.com/Wolfmanlq/p/4847294.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!