/// <summary> /// 复制国内机票订单 /// </summary> /// <param name="request"></param> /// <returns></returns> public CopyFltDomesticOrderResponseViewModel CopyFltDomesticOrder(CopyFltDomesticOrderRequestViewModel request) { if (request.CopyFromOrderId == 0) { throw new Exception("请传入复制来源订单号"); } //1.获取原始订单详情 //2.新增新订单(订单主体信息,行程信息,乘机人信息,保险信息,票号信息,审批信息),并关联原始订单号 //3.如果是虚退复制,则将原订单设置线上隐藏 CopyFltOrderModel copyFltOrderModel = Mapper.Map <CopyFltDomesticOrderRequestViewModel, CopyFltOrderModel>(request); int orderid = 0; using (var transaction = this.Context.Database.BeginTransaction()) { try { orderid = _copyFltDomesticOrderServiceBll.CopyOrder(copyFltOrderModel); _corpAduitOrderServiceBll.Copy(copyFltOrderModel.CopyFromOrderId, orderid); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw; } } return(new CopyFltDomesticOrderResponseViewModel() { OrderId = orderid }); }
public async Task <ResponseBaseViewModel <CopyFltDomesticOrderResponseViewModel> > CopyCorpFltDomesticOrder( [FromBody] CopyFltDomesticOrderRequestViewModel request) { request.Cid = this.GetCid(); request.OrderSource = this.GetOrderSource(); request.CreateOid = this.GetOid(); CopyFltDomesticOrderResponseViewModel viewModel = new CopyFltDomesticOrderResponseViewModel(); await new TaskFactory().StartNew(() => { viewModel = _corpCopyFltDomesticOrderApplication.CopyFltDomesticOrder(request); }); ResponseBaseViewModel <CopyFltDomesticOrderResponseViewModel> v = new ResponseBaseViewModel <CopyFltDomesticOrderResponseViewModel> { Flag = new ResponseCodeViewModel() { Code = 0, MojoryToken = this.GetToken() }, Data = viewModel }; return(v); }