Esempio n. 1
0
        public GetAduitOrderResponseViewModel GetAuditOrder(GetAduitOrderRequestViewModel request)
        {
            CorpAduitOrderInfoModel corpAduitOrder =
                _getCorpAduitOrderServiceBll.GetAduitOrderInfoById(request.AduitOrderId);

            if (request.OrderSource != "O" && (corpAduitOrder.AduitCidList == null ||
                                               !corpAduitOrder.AduitCidList.Contains(request.Cid)))
            {
                throw new Exception("您无权查看该审批单");
            }

            if (corpAduitOrder.OrderDetailList != null && corpAduitOrder.OrderDetailList.Count > 0)
            {
                //查询机场信息
                _getFltOrderBll.AportInfo = _getCityForFlightServiceBll.SearchAirport(new List <string>()
                {
                    "N"
                });


                foreach (var detail in corpAduitOrder.OrderDetailList)
                {
                    //机票
                    if (detail.OrderTypeEnum == OrderSourceTypeEnum.Flt)
                    {
                        detail.FltOrder = _getFltOrderBll.GetFltOrderById(detail.OrderId);
                    }
                }
            }

            GetAduitOrderResponseViewModel viewModel =
                Mapper.Map <CorpAduitOrderInfoModel, GetAduitOrderResponseViewModel>(corpAduitOrder);

            return(viewModel);
        }
        public CorpAduitOrderInfoModel GetAduitOrderInfoById(int aduitOrderId)
        {
            CorpAduitOrderEntity corpAduitOrderEntity = _corpAduitOrderDal.Find <CorpAduitOrderEntity>(aduitOrderId);

            CorpAduitOrderInfoModel corpAduitOrderInfoModel =
                Mapper.Map <CorpAduitOrderEntity, CorpAduitOrderInfoModel>(corpAduitOrderEntity);

            //审批单与订单关联信息
            List <CorpAduitOrderDetailEntity> corpAduitOrderDetailEntities =
                _corpAduitOrderDetailDal.Query <CorpAduitOrderDetailEntity>(
                    n => n.AduitOrderId == corpAduitOrderEntity.AduitOrderId, true).ToList();

            corpAduitOrderInfoModel.OrderDetailList =
                Mapper.Map <List <CorpAduitOrderDetailEntity>, List <CorpAduitOrderDetailModel> >(
                    corpAduitOrderDetailEntities);
            //审批环节信息
            List <CorpAduitOrderFlowEntity> corpAduitOrderFlowEntities =
                _corpAduitOrderFlowDal.Query <CorpAduitOrderFlowEntity>(
                    n => n.AduitOrderId == corpAduitOrderEntity.AduitOrderId, true).ToList();

            corpAduitOrderInfoModel.FlowList =
                Mapper.Map <List <CorpAduitOrderFlowEntity>, List <CorpAduitOrderFlowModel> >(
                    corpAduitOrderFlowEntities);
            //审批日志信息
            List <CorpAduitOrderLogEntity> corpAduitOrderLogEntities =
                _corpAduitOrderLogDal.Query <CorpAduitOrderLogEntity>(
                    n => n.AduitOrderId == corpAduitOrderEntity.AduitOrderId, true).ToList();

            corpAduitOrderInfoModel.LogList =
                Mapper.Map <List <CorpAduitOrderLogEntity>, List <CorpAduitOrderLogModel> >(
                    corpAduitOrderLogEntities);

            List <CustomerModel> customerModels =
                _getCustomerBll.GetCustomerByCidList(corpAduitOrderInfoModel.AduitCidList);

            if (corpAduitOrderInfoModel.FlowList != null && corpAduitOrderInfoModel.FlowList.Count > 0)
            {
                corpAduitOrderInfoModel.FlowList.ForEach(n =>
                {
                    n.FlowCustomerName = customerModels?.Find(x => x.Cid == n.FlowCid)?.RealName;
                });
            }


            if (corpAduitOrderInfoModel.LogList != null && corpAduitOrderInfoModel.LogList.Count > 0)
            {
                corpAduitOrderInfoModel.LogList.ForEach(n =>
                {
                    if (n.DealCid.HasValue)
                    {
                        n.DealCustomerName = customerModels?.Find(x => x.Cid == n.DealCid.Value)?.RealName;
                    }
                });
            }

            return(corpAduitOrderInfoModel);
        }