public async Task <IActionResult> Get()
        {
            IEnumerable <yx_order> entityDto = null;
            await Task.Run(() =>
            {
                entityDto = _yxOrderRpt.FindBy(f =>
                                               f.IsValid); //&& f.CreatedAt > DateTime.Today && f.CreatedAt < DateTime.Today.AddDays(1)
            });

            var orderDtoList  = _mapper.Map <IEnumerable <yx_order>, IEnumerable <OrderDto> >(entityDto).ToList();
            var payTypeList   = this._setPaytypeRepository.GetAll();
            var houseTypeList = this._setHouseTypeRepository.GetAll();

            var entityListDto = new List <yx_orderlist>();

            foreach (var od in orderDtoList)
            {
                od.PayTypeTxt = payTypeList.FirstOrDefault(f => f.Id == od.PayType).Name;
                entityListDto.AddRange(_yxOrderlistRpt.FindBy(f => f.OrderId == od.Id));
            }

            var orderDetailList = _mapper.Map <List <yx_orderlist>, List <OrderListDto> >(entityListDto).ToList();

            foreach (var odt in orderDetailList)
            {
                odt.HouseTypeTxt = houseTypeList.FirstOrDefault(f => f.Id == odt.HouseType).TypeName;
            }
            var orderObj = new OrderDataDto {
                OrderList = orderDtoList, OrderDetailList = orderDetailList
            };

            return(new OkObjectResult(orderObj));
        }
        public async Task <ActionResult> Post([FromBody] OrderDataDto orders)
        {
            orders.order.reg_date = DateTime.Now;
            orders.order.upd_date = DateTime.Now;
            await _order.Add(orders.order);

            await _orderItem.AddList(orders.orderItem);

            return(Ok());
        }
        public async Task <IActionResult> Get(string code)
        {
            //订单信息
            var orderDetail = _yxOrderlistRpt.FindBy(f => f.HouseCode == code && f.IsValid).OrderByDescending(f => f.Id)
                              .First();

            if (orderDetail == null)
            {
                return(BadRequest($"未找到房号{code}的订单"));
            }
            //房屋状态
            var houseInfo = _fwHouseinfoRpt.GetSingle(f => f.Code == code);

            if (houseInfo.State != 1003 && houseInfo.State != 1004)
            {
                var state = _sysDicRpt.GetSingle(houseInfo.State);
                return(BadRequest($"房号{code}状态为{state.DicName},不能结算。"));
            }
            //订单信息
            var orderInfo = _yxOrderRpt.GetSingle(orderDetail.OrderId);

            if (orderInfo == null)
            {
                return(BadRequest($"未找到房号{code}订单信息。"));
            }
            //订单列表
            var houseTypeList      = this._setHouseTypeRepository.GetAll();
            var orderDetailList    = _yxOrderlistRpt.FindBy(f => f.OrderId == orderInfo.Id).ToList();
            var orderDetaiDTOlList = _mapper.Map <List <yx_orderlist>, List <OrderListDto> >(orderDetailList).ToList();

            foreach (var odt in orderDetaiDTOlList)
            {
                odt.HouseTypeTxt = houseTypeList.FirstOrDefault(f => f.Id == odt.HouseType).TypeName;
            }

            var orderDto    = _mapper.Map <yx_order, OrderDto>(orderInfo);
            var payTypeList = this._setPaytypeRepository.GetAll();

            orderDto.PayTypeTxt = payTypeList.FirstOrDefault(f => f.Id == orderDto.PayType).Name;
            if (orderDto.ComeType > 0 && _sysDicRpt.GetSingle(orderDto.ComeType) != null)
            {
                orderDto.ComeTypeTxt = _sysDicRpt.GetSingle(orderDto.ComeType).DicName;
            }
            var orderObj = new OrderDataDto {
                OrderList = new List <OrderDto>()
                {
                    orderDto
                }, OrderDetailList = orderDetaiDTOlList
            };

            return(new OkObjectResult(orderObj));
        }
        public async Task <ActionResult> Put(int order_id, [FromBody] OrderDataDto orders)
        {
            orders.order.upd_user = int.Parse(User.Identity.Name);
            orders.order.upd_date = DateTime.Now;
            orders.order.order_id = order_id;
            await _order.Update(orders.order);

            await _orderItem.RemoveAll(order_id);

            await _orderItem.AddList(orders.orderItem, order_id);

            return(Ok());
        }
        /// <summary>
        /// 获取订单详情
        /// </summary>
        /// <param name="baseID"></param>
        /// <returns></returns>
        public OrderDataDto GetOrderDetail(int baseID)
        {
            var baseData   = GetOrderBaseByBaseID(baseID);
            var detailData = GetOrderDetailsByBaseIDs(new List <int>()
            {
                baseID
            });

            if (baseData != null && detailData != null && detailData.Count() > 0)
            {
            }
            else
            {
                throw new VerificationException("订单数据不存在.");
            }


            OrderDataDto order = new OrderDataDto()
            {
                address      = baseData.address1,
                baseID       = baseData.baseID,
                orderStatus  = GetOrderStatusText(baseData.status),
                factSum      = baseData.factNum,
                mobile       = baseData.mobile,
                sum          = baseData.sum,
                userName     = baseData.userName,
                orderDetails = detailData.Select(i => new OrderDetailDto()
                {
                    allPrice   = i.allprice,
                    baseID     = i.baseID,
                    goodsCD    = i.gdsCD,
                    goodsID    = i.gdsID,
                    goodsName  = i.gdsName,
                    unitPrice  = i.unitprice,
                    goodsCount = i.count,
                    goodsPic   = i.goodspic
                }).ToList()
            };

            return(order);
        }