public static bool SaveLimitAreaSalePid(string pid, int isLimit, string user)
        {
            var bResult = true;

            try
            {
                var beforvalue = DalLimitAreaSale.GetLimitAreaSaleProductConfigLimit(pid);
                var result1    = DalLimitAreaSale.SaveLimitAreaSalePid(pid, isLimit);
                if (result1 <= 0)
                {
                    return(false);
                }
                var oprLog = new FlashSaleProductOprLog
                {
                    OperateUser    = ThreadIdentity.Operator.Name,
                    CreateDateTime = DateTime.Now,
                    BeforeValue    = beforvalue == null?JsonConvert.SerializeObject(null) :
                                         JsonConvert.SerializeObject(new SimpleLimitAreaSaleModel()
                    {
                        Pid     = pid,
                        IsLimit = beforvalue.Value,
                    }),
                                         AfterValue = JsonConvert.SerializeObject(new SimpleLimitAreaSaleModel()
                    {
                        Pid     = pid,
                        IsLimit = isLimit,
                    }),
                                         LogType   = "LimitAreaPid",
                                         LogId     = pid,
                                         Operation = beforvalue == null? "新增产品限售": "修改产品限售"
                };
                LoggerManager.InsertLog("LimitAreaOprLog", oprLog);

                var tableData = SelectLimitAreaSaleCityInfo();
                if (!tableData.Any())
                {
                    var municipalit = new[] { "上海市", "北京市", "天津市", "重庆市" };
                    var dbresult    = LimitAreaSaleManager.SelectRegions();
                    var result      = new List <LimitAreaSaleCityModel>();
                    foreach (var province in dbresult)
                    {
                        if (municipalit.Contains(province.RegionName))
                        {
                            var regionModel = new LimitAreaSaleCityModel()
                            {
                                ProvinceId   = province.PKID,
                                ProvinceName = province.RegionName,
                                CityId       = province.PKID,
                                CityName     = province.RegionName
                            };
                            result.Add(regionModel);
                        }
                        else
                        {
                            foreach (var city in province.ChildrenRegion)
                            {
                                var regionModel = new LimitAreaSaleCityModel()
                                {
                                    ProvinceId   = province.PKID,
                                    ProvinceName = province.RegionName,
                                    CityId       = city.PKID,
                                    CityName     = city.RegionName
                                };
                                result.Add(regionModel);
                            }
                        }
                    }
                    var tempdata = (from a in result
                                    join b in tableData on a.CityId equals b.CityId into temp
                                    from b in temp.DefaultIfEmpty()
                                    select new LimitAreaSaleCityModel
                    {
                        ProductConfigId = 0,
                        ProvinceId = a.ProvinceId,
                        ProvinceName = a.ProvinceName,
                        CityId = a.CityId,
                        CityName = a.CityName,
                        IsAllowSale = b?.IsAllowSale ?? 0,
                        WarehouseId = b?.WarehouseId,
                        WarehouseName = b?.WarehouseName,
                        SupplierId = b?.SupplierId,
                        SupplierName = b?.SupplierName,
                        Pid = pid,
                    }).ToList();
                    tempdata.ForEach(r =>
                    {
                        bResult = bResult &&
                                  SaveLimitAreaSaleCity(r.ProductConfigId, r.CityId, r.CityName, r.IsAllowSale,
                                                        r.WarehouseId, r.WarehouseName, r.SupplierId, r.SupplierName);
                    });
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message, ex);
            }
            return(bResult);
        }