public JsonResult FindRestaurant(string hospitalId, string restaurantId, string supplier, int?dataState, string sendTime)
        {
            //var openApiChannel = OpenApiChannelFactory.GetChannel();
            //var res = openApiChannel.queryResFood(restaurantId);
            if (dataState != OrderState.SCHEDULEDSUCCESS)
            {
                //先判断是否加载餐厅管理平台黑名单餐厅,再判断餐厅是否被拉黑
                if (WebConfigHandler.IsLoadRestaurantData == "1")
                {
                    var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
                    //var resLaheiLIst = baseDataChannel.LoadRestaurantState();
                    //var lahei = resLaheiLIst.Where(p => p.ResId == restaurantId);
                    string alertMessage = "此餐厅已下线,请您重新选择其他餐厅。";
                    var    resLaheiLIst = baseDataChannel.LoadRestaurantState();
                    var    lahei        = resLaheiLIst.Where(p => p.ResId == restaurantId && p.Status == 0);
                    //if (lahei == null || lahei.Count() == 0)
                    //{
                    //    return Json(new { state = 0, txt = alertMessage });
                    //}
                    //else
                    //{
                    //    lahei = lahei.Where(x => x.Status == 0);
                    //}
                    if (lahei.Count() > 0)
                    {
                        return(Json(new { state = 0, txt = alertMessage }));
                    }
                }
            }
            var req = new LoadMenuReq()
            {
                _Channels  = supplier,
                resId      = restaurantId,
                resName    = "",
                hospitalId = hospitalId,
                sendTime   = sendTime
            };
            var res = apiClient.LoadMenu(req);

            if (res != null)
            {
                return(Json(new { state = 1, data = res }));
            }
            return(Json(new { state = 0, txt = "操作失败!", errCode = 9008 }));
        }
        public JsonResult LoadMenu(string restaurantId, string supplier, string hospitalId, string sendTime)
        {
            //var openApiChannel = OpenApiChannelFactory.GetChannel();
            //var menu = openApiChannel.queryResFood(restaurantId);
            var req = new LoadMenuReq()
            {
                _Channels  = supplier,
                resId      = restaurantId,
                resName    = "",
                hospitalId = hospitalId,
                sendTime   = sendTime
            };
            var res = apiClient.LoadMenu(req);

            if (res != null)
            {
                return(Json(new { state = 1, data = res }));
            }
            return(Json(new { state = 0, txt = "载入餐品失败!", errCode = "9005" }));
        }
        public JsonResult SaveFood(string resId, string resName, P_FoodItem[] foods, string supplier, string hospitalId, string sendTime)
        {
            //var openApiChannel = OpenApiChannelFactory.GetChannel();
            //var res = openApiChannel.calculateFee(HospitalInfo.hospital, resId, foods.Select(a=> a.ToFoodRequest()).ToArray());
            var foodList = new List <iPathFeast.ApiEntity.Food>();

            foreach (var item in foods)
            {
                var food = item.ToFoodRequest();
                foodList.Add(new iPathFeast.ApiEntity.Food()
                {
                    foodId   = food.foodId,
                    foodName = food.foodName,
                    count    = Convert.ToInt32(food.count),
                    describe = food.describe
                });
            }
            var req = new CalcFeeReq()
            {
                _Channels  = supplier,
                resId      = resId,
                hospitalId = PreApproval.HospitalAddressCode,
                longitude  = "",
                latitude   = "",
                phone      = "",
                foods      = foodList,
                sendTime   = sendTime
            };
            var res = apiClient.CalcFee(req);

            if (res != null)
            {
                var _req = new LoadMenuReq()
                {
                    _Channels  = supplier,
                    resId      = resId,
                    resName    = "",
                    hospitalId = hospitalId,
                    sendTime   = sendTime
                };
                var restaurant = apiClient.LoadMenu(_req);


                var nowfoods = new P_Food()
                {
                    resId      = resId,
                    resName    = resName,
                    resAddress = restaurant.address,
                    resTel     = restaurant.resTel,
                    resLogo    = restaurant.imagePath,
                    foods      = foods,
                    allPrice   = Convert.ToDecimal(res.allPrice),
                    foodFee    = Convert.ToDecimal(res.foodFee),
                    packageFee = Convert.ToDecimal(res.packageFee),
                    sendFee    = Convert.ToDecimal(res.sendFee)
                };

                if (nowfoods.allPrice > WeChatOrderInfo.preApproval.BudgetTotal)
                {
                    return(Json(new { state = 0, txt = "您的订单金额已超出预申请预算,请修改预申请预算或修改订单金额。", errCode = 3874 }));
                }

                //if (WeChatOrderInfo.foods != null && WeChatOrderInfo.details != null
                //    && WeChatOrderInfo.foods.resId != nowfoods.resId)
                //{
                //    WeChatOrderInfo.details.oldDeliverTime = WeChatOrderInfo.details.deliverTime;
                //    WeChatOrderInfo.details.deliverTime = null;
                //}
                WeChatOrderInfo.foods    = nowfoods;
                WeChatOrderInfo.supplier = supplier;
                return(Json(new { state = 1 }));
            }

            return(Json(new { state = 0, txt = "网络接口错误,提交失败!", errCode = 9012 }));
        }