public async Task <ResponseBaseViewModel <CopyTraOrderResponseViewModel> > CopyTraOrder( [FromBody] CopyTraOrderRequestViewModel request) { request.Cid = this.GetCid(); request.OrderSource = this.GetOrderSource(); request.CreateOid = this.GetOid(); CopyTraOrderResponseViewModel viewModel = new CopyTraOrderResponseViewModel(); await new TaskFactory().StartNew(() => { viewModel = _copyTraOrderApplication.CopyTraOrder(request); }); ResponseBaseViewModel <CopyTraOrderResponseViewModel> v = new ResponseBaseViewModel <CopyTraOrderResponseViewModel> { Flag = new ResponseCodeViewModel() { Code = 0, MojoryToken = this.GetToken() }, Data = viewModel }; return(v); }
public CopyTraOrderResponseViewModel CopyTraOrder(CopyTraOrderRequestViewModel request) { //1.获取原始订单详情 //2.新增新订单(订单主体信息,订单状态,行程信息,乘车人信息,审批信息),并关联原始订单号 //3.如果是虚退复制,则将原订单设置线上隐藏 int orderid = 0; CopyTraOrderModel copyTraOrderModel = Mapper.Map <CopyTraOrderRequestViewModel, CopyTraOrderModel>(request); using (var transaction = this.Context.Database.BeginTransaction()) { try { //新增复制订单 orderid = _copyTraOrderServiceBll.CopyOrder(copyTraOrderModel); _corpAduitOrderServiceBll.Copy(request.CopyFromOrderId, orderid); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw; } } return(new CopyTraOrderResponseViewModel() { OrderId = orderid }); }